❶ C語言命令行參數問題,請高手幫忙
看了半天沒看明白你想做什麼,
用命令行參數
int
main(int
argc,char*
argv[])
argc是命令行上參數的總個數
argv[]保存了參數的名稱
比如你文件是text.exe
在命令行上輸入
c:\>text.exe
a
b
c
那樣argv[0]="text.exe";
argv[1]
=
"a";
argv[2]
=
"b";
argv[3]
=
"c"
具體要做什麼你自己想
❷ 如何創建一個shell腳本檢查命令行參數個數,如果參數不是三個顯示一條錯誤信息,為三個則顯示參數
1、「shell」中有一個特殊變數「$#」:表示包含參數的個數;
2、「if [ $# -ne 3 ] ; then # 」:如果參數不為3個
3、輸入「if [ $# -ne 3 ];then echo errorelse echo "$1 $2 $3"if」
❸ C語言命令行參數
int main(int argc, char * argv[])
{
.....
}
argc: 代表啟動程序時,命令行參數的個數。C和C++語言規定,可執行程序程序本身的文件名,也算是一個命令行參數,因此,argc的值至少是1.
argv[]:指針數組,其中的每個元素都是一個char* 類型的指針,該指針指向一個字元串,這個字元串里就存放著命令行參數。
例如,argv[0]指向的字元串就是第一個命令行參數,即可執行程序的文件名,argv[1]指向第二個命令行參數,argv[2]指向第三個命令行參數....。
#include <stdio.h>
int main( int argc, char * argv[])
{
int i;
for ( i = 0;i < argc; i++)
{
printf("%s ",argv[i]);
}
return 0;
}
windows下,將上面的程序編譯成sample.exe,然後在控制台窗口敲:
sample para1 para2 s.txt 5 "hello world"
上面有6個參數,雙引號為了包含空格作為一個參數。
輸出結果:
sample
para1
para2
s.txt
5
hello world
main函數通常含有參數argc和argv,寫法通常如下:
int main(int argc,char *argv[])
int main(int argc,char **argv)
程序:
#include<stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=0;i<argc;i++)
printf("第 %d 個參數是 %s ",i+1,argv[i]);
return 0;
}
❹ 命令行參數長度有限制嗎
有,命令行緩沖區 有 容量限制,整個命令行字元串不能超過緩沖區容量。另外參數數量也有限制。getconf ARG_MAX 最大參數個數。
❺ 什麼是C語言命令行參數
假設可執行程序名字為,則命令
a.txt
b.txt
中
a.txt
b.txt叫做命令行參數。
代碼中
int
main(int
main(int
argc,
char*
argv[])
argc表示命令行參數的個數
argv表示每個命令行參數的字元串內容。
❻ 創建一個shell腳本,檢查命令行參數的個數,如果參數不是三個,顯示一條錯誤信息,如果為三個,則顯示參數
shell 中有一個特殊變數$# 表示包含參數的個數
if [ $# -ne 3 ] ; then # 如果參數不為3個
echo 'error'
else
echo $1,$2,$3
fi
這樣就行
❼ 命令行參數的簡介
命令行的參數
1、 什麼是命令行的參數?
如: java Test1 365 156 China
(以上Test1必須為主類,否則不能運行)
2、命令行的參數由誰來接收?
一個程序開始於對函數main()的調用。在這樣做的時候,有兩個參數被送給main(),
其中的一個描述了命令行參數的個數,通常稱為argc;另一個是命令行參數的數組,通常稱為argv。
命令行參數都是字元串,所以argv的類型是char* [argc+1]。該程序的名字也作為argv[0]傳進來,
所以argc的值至少是1。這個參數的表總以0結束,也就是說,argv[argc]==0。
3、在命令行給定參數時,應注意什麼?
命令行的參數以空格隔開。但是,若命令行的參數本身包含空格時,則
該參數必須用一對雙引號括起來。
如: java Test1 365 156 China Beijing of China
4、命令行中輸入*(表示乘法)的方法:若直接在命令行中輸入*(乘法),系統會處理成當前路徑名的幾個字元串,若要*表示乘法,應該輸入「 *」或「 * 」,由args取得該字元串後,再用trim()去掉兩端空格即可,當然也可輸入「#*」,然後再想辦法去掉前面的#即可,即只要不單獨輸入*即可。
5、Total Commander啟動時可以把一個或兩個文件夾做為命令行參數。這些文件夾用來設置一側或兩側的文件窗口。這樣你可以在程序或啟動菜單為Total Commander創建多個圖標,每個Total Commander啟動後打開不同文件夾甚至壓縮包。而且可以指定不同的ini文件,不止默認的wincmd.ini,這樣同一機器上的不同用戶可以擁有不同的設置。
❽ c語言 命令行參數數量
這個程序是K&B《C語言程序設計》中一個簡易計算器代碼。
中文版第65頁。
請看標准寫法。
2 3 4 + 這種寫法稱為後綴表達式(逆波蘭式)。
❾ 下列程序的功能是統計命令行參數的個數,請在【 】處填上適當的JAVA代碼
args.length
切!
❿ 下面哪些是送給main函數的命令行參數的個數
int
main(int
argc,
char
*argv[])
當在命令行下運行編譯好的程序時,首先進入main函數,比如說程序名是a.out
#./a.out
a
b
#是命令提示符,
該程序的main函數的第一個參數argc就會是3
argv[0]
是./a.out
argv[1]是a
argv[2]
是b
main函數的參數就是這樣傳進來的