0

Cプログラムから次のコマンドを実行したい:

amixer --quiet set Master 5+
amixer --quiet set Master 6-

ここで、5 と 6 は固定値ではありません。これらは、異なる値を持つことができるコードの入力引数です。

これを達成する方法を教えてください。

4

2 に答える 2

1

試しましたか:

system("amixer --quiet set Master 5+");
system("amixer --quiet set Master 6-");
于 2012-08-26T12:27:01.993 に答える
0

次のコードでこれを実現できます。

#include <stdio.h>
#include <stdlib.h>     /* For system() */

#define SIZE 28

int main()
{
    char action;
    unsigned int level;

    char CommandString[SIZE];

    printf ("\nTo Increase\\Decrease volume press 'i'/'d': ");
    scanf  ("%c", &action);

    if (action!='i'&& action !='d')
    {
        printf ("\nInvalid Choice, please try again\n");
        main();
    }

    printf ("\nEnter Voice Change Level: ");
    scanf  ("%u", &level);

    if (action=='i')
    {
        printf ("\nIncreasing Voice level by: %u\n", level);
        sprintf (CommandString, "amixer --quiet set Master %d+", level);
    }
    else
    {
        printf ("\nDecreasing Voice level by: %u\n", level);
        sprintf (CommandString, "amixer --quiet set Master %d-", level);
    }

    system (CommandString);

    return 0;
}
于 2012-08-26T12:27:51.303 に答える