2015-04-21 82 views
1

我在Unix環境下編程C程序。我需要的是像這樣執行程序之前從用戶採取一些:運行C程序的Unix環境

./program.out 60

我怎麼整數值存儲在C程序?

+3

使用'argv',閱讀有關命令行參數。 –

+0

謝謝你指點我正確的方向(雙關語意)。我明白我現在需要做什麼。 –

+0

閱讀http://www.cprogramming.com/tutorial/c/lesson14.html有關C程序的命令行參數。 –

回答

7

您可以使用argv[]來獲取命令行參數,例如

#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[]) 
{ 
    int n; 

    if (argc != 2)  // check that we have been passed the correct 
    {     // number of parameters 
     fprintf(stderr, "Usage: command param\n"); 
     exit(1); 
    } 

    n = atoi(argv[1]); // convert first parameter to int 

    // ...    // do whatever you need to with `n` 

    return 0;  
} 
1
int main (int argc, char *argv [ ]) 
{ 
    //your code 

} 

argv [1]屆時將有包含數量的數字字符串的地址。

然後,如果需要,您可以將其更改爲int

1

這很簡單,我希望我已經得到你的問題。請看下圖:

#include <stdio.h> 

int main(int argc, char* argv[]) 
{ 
    printf("Number of arguments is: %d\n", argc); 
    printf("The entered value is %s\n", argv[1]); 

    return 0; 
} 

,然後編譯它在Linux上爲:

gcc file.c 
./a.out 32 

程序應該打印您需要的值。

希望這會有所幫助。