① c語言請問命令行怎樣輸入的
將命令行的目錄轉到你程序.exe文件的目錄(假設為xxx.exe),那麼你輸入xxx.exe 5 hello應該就得了,因為主函數main可以傳入一個int變數和一串字元,數字是要輸出的字元串的字元個數,後面就是你輸入的字元串。
不過你是初學嗎,初學馬上學這個好像有點早,不過也沒事。原理就類似於其他dos命令一樣,後面可以直接接參數,不用scanf的。
還有,更改目錄用cd命令
② 如何在C語言中調用cmd命令
在C語言中調用shell命令的方法實現。
C程序調用shell腳本共有兩種方法 :system()、popen(),分別如下:
system()
不用自己去創建進程,系統已經封裝了這一步,直接加入自己的命令即可
popen() 也可以實現執行的命令,比system
開銷小
以下分別說明:
1)system(shell命令或shell腳本路徑);
system()
會調用fork()產生 子歷程,由子歷程來調用/bin/sh-c string來履行 參數string字元串所代表的命令,此命令履行
完後隨即返回原調用的歷程。在調用system()期間SIGCHLD 信號會被暫時擱置,SIGINT和SIGQUIT 信號則會被漠視 。
返
回值:如果system()在調用/bin/sh時失敗則返回127,其他失敗原因返回-1。若參數string為空指針(NULL),則返回非零值。 如果
system()調用成功 則最後會返回履行 shell命令後的返回值,但是此返回值也有可能為system()調用/bin/sh失敗所返回的127,因
此最好能再反省 errno 來確認履行 成功 。
system命令以其簡略
高效的作用得到很很廣泛 的利用 ,下面是一個例子
例:在/tmp/testDir/目錄下有shell腳本tsh.sh,內容為
#!/bin/sh
wget $1
echo "Done!"
2)popen(char
*command,char *type)
popen()
會調用fork()產生 子歷程,然後從子歷程中調用/bin/sh -c來履行 參數command的指令。參數type可應用
「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立 管道連到子歷程的標准 輸出設備 或標准 輸入設備
,然後返回一個文件指針。隨後歷程便可利用 此文件指針來讀取子歷程的輸出設備 或是寫入到子歷程的標准 輸入設備 中。此外,所有應用 文
件指針(FILE*)操作的函數也都可以應用 ,除了fclose()以外。
返回值:若成功
則返迴文件指針,否則返回NULL,差錯 原因存於errno中。注意:在編寫具SUID/SGID許可權的程序時請盡量避免應用
popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。
例:C程序popentest.c內容如下:
#include<stdio.h>
main
{
FILE * fp;
charbuffer[80];
fp=popen(「~/myprogram/test.sh」,」r」);
fgets(buffer,sizeof(buffer),fp);
printf(「%s」,buffer);
pclose(fp);
}
③ 怎樣用C語言操作命令行程序
main(int argc, char* argv[])中的參數不是白寫的,argc存儲參數個數,argv[]指針數組按順序指向這些參數,你可以解析這些參數做不同的操作,但注意運行時不能直接點exe,要用cmd運行,我們常見的命令行cd,dir,md等都是這么寫出來的。
④ c語言命令行參數如何運行
1、命令行參數是保存在argv[]里的。argc只是說參數的個數。命令行參數一般是從argv[1]開始(包括argv[1])argv[0]是程序的名字。在輸命令的時候,命令行參數之間用空格隔開。
2、比如:
#include<stdio.h>
intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("youmustinputargs!");
return0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序參數如下: ");
printf("-c提示是否確定。 ");
printf("-d跳過警告,直接刪除。 ");
printf("exit為退出。");
return0;
}
elseif(strcmp(argv[1],"-c")==0)
{
//此處省略N行你的代碼
}
return0;
}
如果編譯出來的程序名字叫 test.exe,那麼在命令行下輸入 test.ext help後就會列印
此程序參數如下:
-c 提示是否確定。
-d 跳過警告,直接刪除。
exit為退出。
⑤ C語言中的命令行
不一定 可以隨便出現在程序的那個地方 不過一般放在首部
⑥ 如何用C語言模擬命令行
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
char para[255],test[255];
while (1) {
printf("bash>");
gets(para);
for(unsigned int i=0;i<strlen(para);i++)
{
test[i] = toupper(para[i]);
}
test[strlen(para)]='\0';
if (strcmp(test,"EXIT")==0) return 0;
system(para);
strcpy(para,"");
}
return 0;
}
⑦ C語言中的命令行是什麼,他有什麼作用.~~
就是運行程序的時候要帶進去的數據,一般留空即可,這個要講也是很復雜的..簡單來說,比如cs1.5
一般運行"d:\program
files\cs1.5\cstrike.exe"即可,但是我想進入控制台,那麼命令行參數為-console
就是說運行"d:\program
files\cs1.5\cstrike.exe"
-console就可以了
用過命令提示符沒有?比如x命令
x
c:\a.txt
d:\b.txt
其中"c:\a.txt
d:\b.txt"就是命令行參數
⑧ 怎樣用命令行執行C語言
#include<stdio.h>
#include<malloc.h>
void main()
{
int i=0;
char *p[5];
for(i=0;i<5;i++)
{
p[i]=(char *)malloc(100);
}
printf("input:");
for(i=0;i<5;i++)
{
scanf("%s",p[i]);
}
for(i=0;i<5;i++)
{
printf("%s ",p[i]);
}
system("Pause");
}
⑨ 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
(9)C語言命令框擴展閱讀:
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;
}
⑩ c語言中什麼是命令行
就是控制台,最開始的時候跟計算機交互是通過終端(沒有處理能力的低端機器,有顯示器和鍵盤)輸入信息,在傳給計算機進行執行,然後再返回給 終端的。
交互的界面就是 控制台或者叫 命令行。
我們平常 在 開始 運行 中 敲入 CMD 就會進入一個終端,可以在裡面執行命令,如果你敲入telnet 連到別的機器,你就跟以前的終端是一樣的了,呵呵