這是用乙個c語言程式,有關命令列變元。我對c語言命令列變元的用法和意義一直不太明白。這是一本書中的例項,但是我visual studio 2005編寫除錯時,雖然編譯通過,但是出來的預想的不一樣。在命令列變元這塊我一直不太明白,希望有牛人能指點一下。幫我看看,這個程式到底要幹嘛。在這先謝過。
// 006.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include"stdlib.h"
#include"ctype.h"
#include"string.h"
int _tmain(int argc, _tchar* argv)
void main(int argc,char *argv)
if(argc==3&&!strcmp(argv[2],"display"))disp=1;
else disp=0;
for(count=atoi(argv[1]);count;--count)if(disp)printf("%d\n",count);
putchar('\a');/*將產生蜂鳴*/
printf("down");
return;
}
請填寫**
第1樓
c語言和c++中的main命令列引數(命令列變元)是需要手動的輸入的;
比如int main(int argc,char *argv)中的argc表示命令行引數(命令列變元)的個數,而char *argv則儲存命令列引數字串,每個引數之間用空格隔開
一般情況下命令列引數(命令列變元)的第乙個字串即 argv[0] 是預設的這個程式的路徑加上函式名;
比如你的程式在c盤個目錄下的test.c 那麼argv[0] = "c:\test.c";
而你手動輸入的命令列引數則是 從argv[1]開始的,並且argc是根據你輸入的字串來統計數目的,一般不會賦值,比如你的程式中將 argc = 3;這是多餘的,而且影響程式執行;
我針對你的程式在三個工具 turboc2.0 vc++6.0 和vs2008上分別執行過,都是沒問題的;不過你的程式中要把 argc = 3 注釋掉,這裡沒必要賦值,賦值反而出錯的;
你的程式我少做了一下修改和注釋;
#include //如果用的是庫函式的標頭檔案,用<>最好,因為他首先查詢庫函式,執行會快
#include
#include
#include
int _tmain(int argc, char* argv)//這個函式完全沒有什麼用
void main(int argc,char *argv)
if(argc == 3 && !strcmp(argv[2],"display") )
disp=1;
else disp=0;
for( count=atoi(argv[1]); count; --count)
if(disp)printf("%d\n",count);
putchar('\a'); /*將產生蜂鳴*/
printf("down");
return;
}上面基本上是你的源程式,
在vs裡面輸入命令列引數的辦法是
在檔案欄 專案 ---> ***程式 屬性 -----> 配置屬性 ---->除錯 ----->命令列引數(在本地windows偵錯程式上啊)輸入你要輸入的引數即可
在vc++6.0 程式中
工具欄 工程---->設定----->除錯 ---->程式變數 即可輸入
在turboc2.0中 是在
options ----> arguments 在這裡輸入即可
其實你的程式的意思是
1.讓你輸入命令列引數,如果沒有輸入,就是argc = 1 就執行
printf("you must enter the length of the count\n");
printf("on the command line.try again\n");
exit(1);/*非正常跳出程式*/
這裡如果你把exit(1)注釋掉 就會看到輸出的結果,就是沒有輸入;不注釋就會立即結束
2.如果你輸入的是123 display的話就正常執行了
3.如果你不這樣輸入的話,就會出現其他現象,你自己試試就好了
其實命令列引數不是很難的,你自己看一下吧!
C語言的命令列引數
在圖形介面普及前都是用命令列介面。命令列 command line 是在命令列環境中,使用者為執行程式輸入命令的行。命令列函式 command line argument 是同一行的附加項。如下例是unix環境下的命令列 fuss r gingerfuss就是命令列,後面的是命令列引數。例如在win...
如何了解乙個命令列man
通常是一段描述,通常是命令列的由來 可編寫指令碼的影象處理系統。講解命令列的基本用法,這裡提供了基本的使用格式,一般對於劃線處還會有進一步描述 通常用語簡要描述一下命令列功能應用 針對每乙個選項具體講解,對於劃線處如果不懂,後面會有講述 通常用語講解相關選項,比如這裡就將key的使用做了一些限制 命...
C語言命令列引數的使用
學習c語言時一直不明白main函式帶引數 命令列引數的使用方法,現在來個總結。main函式可以帶兩個形參 argc和argv,argc 是乙個整形變數,argv是乙個指向字串陣列的指標陣列。void main int argc,char argv 函式體 實際上,main函式的引數值是從作業系統命令...