㈠ system()命令
system函數其實是調用CMD(個人認為),比如
system("ipconfig");
上面的意思是先調用CMD,在利用CMD執行IPCONFIG的命令。
如果你要調用外部程序,建議不要用這個函數
ShellExecute(NULL,"open","調用文件的路徑",NULL,NULL,SW_SHOWNORMAL);
就可以完美調用外部程序了。具體使用方法可以查閱MSDN
㈡ system函數具體功能是什麼
system函數具體功能是調用windows操作系統下的C語言應用。system函數需加頭文件<stdlib.h>後方可調用。
system("pause")可以實現凍結屏幕,便於觀察程序的執行結果;system("CLS")可以實現清屏操作。而調用color函數可以改變控制台的前景色和背景,具體參數在下面說明。
例如:用 system("color 0A");其中color後面的0是背景色代號,A是前景色代號。各顏色代碼如下:
0=黑色 1=藍色 2=綠色 3=湖藍色 4=紅色 5=紫色 6=黃色 7=白色 8=灰色 9=淡藍色 A=淡綠色 B=淡淺綠色 C=淡紅色 D=淡紫色 E=淡黃色 F=亮白色。
(2)system命令擴展閱讀:
C語言有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,例如用system函數來調用。
且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。
在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。
㈢ Linux命令SYSTEM()啟動命令
system是一個使用簡單,設計復雜的程序。
它主要包含fork exec waitpid三個步驟。
下來我來還原樓主的錯誤:
程序A:
/* socksrv.c*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h> /* for struct sockaddr_in*/
#define BACKLOG 10
#define MYPORT 4000
int main()
{
char *addr;
int sockfd;
int new_fd;
struct sockaddr_in my_addr, their_addr;
int res;
int sin_size;
char *buf;
/* 取得套接字描述符*/
sockfd = socket(AF_INET, /* domain*/
SOCK_STREAM, /* type*/
0); /* protocol*/
if (sockfd == -1) {
perror("socket");
exit(1);
}
/* Init sockaddr_in */
my_addr.sin_family = AF_INET; /* 注意: 應使用主機位元組順序*/
my_addr.sin_port = htons(MYPORT); /* 注意: 應使用網路位元組順序*/
my_addr.sin_addr.s_addr = htonl(INADDR_ANY); /* 使用自己的 IP 地址 */
bzero(&(my_addr.sin_zero), 8); /* 結構的其餘的部分須置 0*/
/* 指定一個套接字使用的地址及埠*/
res = bind(sockfd, (struct sockaddr*)&my_addr, sizeof(struct sockaddr));
if (res == -1) {
perror("bind");
exit(1);
}
/* 監聽請求, 等待連接*/
res = listen(sockfd,
BACKLOG); /* 未經處理的連接請求隊列可容納的最大數目*/
if (res == -1) {
perror("listen");
exit(1);
}
system("./hello&");
/* 接受對方的連接請求, 建立連接,返回一個新的連接描述符.
* 而第一個套接字描述符仍在你的機器上原來的埠 listen()
*/
sin_size = sizeof(struct sockaddr_in);
new_fd = accept(sockfd, (void *)&their_addr, &sin_size);
buf = (char *)malloc(255);
if (buf == NULL) {
printf("malloc failed\n");
exit(1);
}
/* 接受對方發來的數據*/
res = recv(new_fd, buf, 255, 0);
if (res == -1) {
perror("recv()");
exit(1);
}
/* 關閉本次連接*/
close(new_fd);
/* 關閉系統監聽*/
close(sockfd);
printf("recv data:%s\n", buf);
free(buf);
return 0;
}
程序B:hello,在主程序中用system("./hello&)調用。
#include <stdlib.h>
int main(){
while(1){
sleep(1000);
}
return 0;
}
編譯後運行程序A。我們可以在其它終端窗口看到 ./A ./hello正在運行,netstat -a 看到,tcp 4000埠被 佔用。
我們用Ctrl+c中斷程序A模擬樓主的崩潰操作。
這時,再在其它終端窗口看看,./A沒有了。./hello還在運行。netstat -a看到。4000埠還在佔用。
這時再次運行./A,提示bind: Address already in use而退出。
情況就是這樣。
因為執行system時,系統會fork一個A的子進程,再去執行B.
當你的A崩潰以後,它的一個子進程實際上還在運行,它打開的埠,文件,等還在使用。
所以再次運行A時,由於自定的互斥機制而退出。
如:再次綁定埠時提示埠已在使用。
殺死B後,A的子進程結束,它的資源釋放,所以才能再次運行A。
我建議樓主使用exec系列函數來啟動B。
㈣ C語言中system("pause")是什麼作用和意思
system(「pause」) 是調用DOS系統的暫停命令 pause 來暫停程序執行,按任意一個鍵後將繼續執行。
Sleep() 是 windows 的 函數,讓程序進入睡眠狀態,要求參數 時間毫秒,到時間後自動蘇醒,程序繼續執行。
例如: Sleep(2500); 休眠 2.5 秒,滿2.5 秒 後 程序繼續運行。
㈤ C++ 中如何使用system執行多個命令
ftp 有個-s的選項,你將後面的命令都放到一個文件中,然後使用FTP -s command.txt,這樣一個命令就好啊:
system ("ftp -s E:\command.txt");
這樣必能滿足你的要求,可以給分了,沒注意,居然沒分啊
LZ也太小氣了,近3000多的分居然連5分都捨不得!!!!!!!
㈥ C語言的system函數
system(系統)函數
windows操作系統下system () 函數詳解(主要是在C語言中的應用)
功 能: 發出一個DOS命令
用 法: int system(char *command);
system函數已經被收錄在標准c庫中,可以直接調用
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("About to spawn and run a DOS command\n");
system("dir");
return 0;
}
又如:system("pause")可以實現凍結屏幕,便於觀察程序的執行結果;system("CLS")可以實現清屏操作。而調用color函數可以改變控制台的前景色和背景,具體參數在下面說明。
例如,用 system("color 0A"); 其中color後面的0是背景色代號,A是前景色代號。各顏色代碼如下:
0=黑色 1=藍色 2=綠色 3=湖藍色 4=紅色 5=紫色 6=黃色 7=白色 8=灰色 9=淡藍色 A=淡綠色 B=淡淺綠色 C=淡紅色 D=淡紫色 E=淡黃色 F=亮白色
(注意:Microsoft Visual C++6.0 支持system)
舉例
看了下面實例,相信你會對學到更多system在C程序設計中的應用。
例一:
C語言調用DOS命令實現定時關機:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int print()
{
printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
printf("╔═══╧╧C語言關機程序 ╧╧═══╗\n");
printf("║※1.實現10分鍾內的定時關閉計算機 ║\n");
printf("║※2.立即關閉計算機 ║\n");
printf("║※3.注銷計算機 ║\n");
printf("║※0.退出系統 ║\n");
printf("╚═══════════════════╝\n");
return 0;
}
void main()
{
system("title C語言關機程序");//設置cmd窗口標題
system("mode con cols=48 lines=25");//窗口寬度高度
system("color 0B");
system("date /T");
system("TIME /T");
char cmd[20]="shutdown -s -t ";
char t[5]="0";
print();
int c;
scanf("%d",&c);
getchar();
switch(c)
{
case 1:printf("您想在多少秒後自動關閉計算機?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
case 2:system("shutdown -p");break;
case 3:system("shutdown -l");break;
case 0:break;
default:printf("Error!\n");
}
system("pause");
exit(0);
}
例二:
用C語言刪除文件,例如文件的位置是d:\123.txt
用system()函數執行windows命令。
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
system("del d:\\123.txt");
return 0;
}
㈦ system的Windows函數
windows操作系統下system () 函數詳解(主要是在C語言中的應用)函數名: system
功 能: 發出一個DOS命令
用 法: int system(char *command);
system函數需加頭文件<stdlib.h>後方可調用
程序例: #include<stdlib.h>#include<stdio.h>intmain(void){printf(AbouttospawnandrunaDOScommand
);system(dir);return0;}又如:system(pause)可以實現凍結屏幕,便於觀察程序的執行結果;system(CLS)可以實現清屏操作。而調用color函數可以改變控制台的前景色和背景,具體參數在下面說明。
例如,用 system(color 0A); 其中color後面的0是背景色代號,A是前景色代號。各顏色代碼如下:
0=黑色 1=藍色 2=綠色 3=湖藍色 4=紅色 5=紫色 6=黃色 7=白色 8=灰色 9=淡藍色 A=淡綠色 B=淡淺綠色 C=淡紅色 D=淡紫色 E=淡黃色 F=亮白色
(注意:Microsoft Visual C++6.0 支持system)
舉例
看了下面實例,相信你會對學到更多system在C程序設計中的應用。
例一:
C語言調用DOS命令實現定時關機: #include<stdio.h>#include<string.h>#include<stdlib.h>intprint(){printf(╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪
);printf(╔═══╧╧C語言關機程序╧╧═══╗
);printf(║※1.實現10分鍾內的定時關閉計算機║
);printf(║※2.立即關閉計算機║
);printf(║※3.注銷計算機║
);printf(║※0.退出系統║
);printf(╚═══════════════════╝
);return0;}voidmain(){system(titleC語言關機程序);//設置cmd窗口標題system(modeconcols=48lines=25);//窗口寬度高度system(color0B);system(date/T);system(TIME/T);charcmd[20]=shutdown-s-t;chart[5]=0;print();intc;scanf(%d,&c);getchar();switch(c){case1:printf(您想在多少秒後自動關閉計算機?(0~600)
);scanf(%s,t);system(strcat(cmd,t));break;case2:system(shutdown-p);break;case3:system(shutdown-l);break;case0:break;default:printf(Error!
);}system(pause);exit(0);}例二:
用C語言刪除文件,例如文件的位置是d:123.txt
用system()函數執行windows命令。 #include<stdlib.h>#include<stdio.h>intmain(void){system(deld:\123.txt);return0;}
㈧ C語言system函數用法
system函數 是可以調用一些DOS命令,比如
system("cls");//清屏,等於在DOS上使用cls命令
寫可執行文件路徑,可以運行它····
下面列出常用的DOS命令,都可以用system函數調用:
ASSOC 顯示或修改文件擴展名關聯。
AT 計劃在計算機上運行的命令和程序。
ATTRIB 顯示或更改文件屬性。
BREAK 設置或清除擴展式 CTRL+C 檢查。
CACLS 顯示或修改文件的訪問控制列表(ACLs)。
CALL 從另一個批處理程序調用這一個。
CD 顯示當前目錄的名稱或將其更改。
CHCP 顯示或設置活動代碼頁數。
CHDIR 顯示當前目錄的名稱或將其更改。
CHKDSK 檢查磁碟並顯示狀態報告。
CHKNTFS 顯示或修改啟動時間磁碟檢查。
CLS 清除屏幕。
CMD 打開另一個 Windows 命令解釋程序窗口。
COLOR 設置默認控制台前景和背景顏色。
COMP 比較兩個或兩套文件的內容。
COMPACT 顯示或更改 NTFS 分區上文件的壓縮。
CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換
當前驅動器。
COPY 將至少一個文件復制到另一個位置。
DATE 顯示或設置日期。
DEL 刪除至少一個文件。
DIR 顯示一個目錄中的文件和子目錄。
DISKCOMP 比較兩個軟盤的內容。
DISKCOPY 將一個軟盤的內容復制到另一個軟盤。
DOSKEY 編輯命令行、調用 Windows 命令並創建宏。
ECHO 顯示消息,或將命令回顯打開或關上。
ENDLOCAL 結束批文件中環境更改的本地化。
ERASE 刪除至少一個文件。
EXIT 退出 CMD.EXE 程序(命令解釋程序)。
FC 比較兩個或兩套文件,並顯示
不同處。
FIND 在文件中搜索文字字元串。
FINDSTR 在文件中搜索字元串。
FOR 為一套文件中的每個文件運行一個指定的命令
FORMAT 格式化磁碟,以便跟 Windows 使用。
FTYPE 顯示或修改用於文件擴展名關聯的文件類型。
GOTO 將 Windows 命令解釋程序指向批處理程序
中某個標明的行。
GRAFTABL 啟用 Windows 來以圖像模式顯示
擴展字元集。
HELP 提供 Windows 命令的幫助信息。
IF 執行批處理程序中的條件性處理。
LABEL 創建、更改或刪除磁碟的卷標。
MD 創建目錄。
MKDIR 創建目錄。
MODE 配置系統設備。
MORE 一次顯示一個結果屏幕。
MOVE 將文件從一個目錄移到另一個目錄。
PATH 顯示或設置可執行文件的搜索路徑。
PAUSE 暫停批文件的處理並顯示消息。
POPD 還原 PUSHD 保存的當前目錄的上一個值。
PRINT 列印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存當前目錄,然後對其進行更改。
RD 刪除目錄。
RECOVER 從有問題的磁碟恢復可讀信息。
REM 記錄批文件或 CONFIG.SYS 中的注釋。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替換文件。
RMDIR 刪除目錄。
SET 顯示、設置或刪除 Windows 環境變數。
SETLOCAL 開始批文件中環境更改的本地化。
SHIFT 更換批文件中可替換參數的位置。
SORT 對輸入進行分類。
START 啟動另一個窗口來運行指定的程序或命令。
SUBST 將路徑跟一個驅動器號關聯。
TIME 顯示或設置系統時間。
TITLE 設置 CMD.EXE 會話的窗口標題。
TREE 以圖形模式顯示驅動器或路徑的目錄結構。
TYPE 顯示文本文件的內容。
VER 顯示 Windows 版本。
VERIFY 告訴 Windows 是否驗證文件是否已正確
寫入磁碟。
VOL 顯示磁碟卷標和序列號。
XCOPY 復制文件和目錄樹。
㈨ system中的命令沒有執行,為什麼
應該命令的路徑被修改了。
試下在cmd下打入 path 命令看看。以下是正確的顯示。
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
如果不是,請在cmd下輸入
PATH C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
或在我的電腦—屬性—高級—環境變數 裡面重新設置路徑,按新建
變數名輸入:path
變數值輸入:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
㈩ system(cls")指令是什麼
system("cls"); 是一個實現清屏的操作。
一般需要做一下操作:
1、引入頭文件:
//頭文件:
#include<windows.h>
2、調用清屏函數:
//清屏代碼:
system("cls");