當前位置:首頁 » 編程語言 » c語言system函數返回值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言system函數返回值

發布時間: 2022-02-13 01:40:15

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;
}

② C語言的system函數具體怎麼用啊

system(執行shell 命令)
表頭文件 #include<stdlib.h>

定義函數 int system(const char * string);

函數說明 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 來確認執行成功。

附加說明 在編寫具有SUID/SGID許可權的程序時請勿使用system(),system()會繼承環境變數,通過環境變數可能會造成系統安全的問題。

範例 #include<stdlib.h>
main()
{
system(「ls -al /etc/passwd /etc/shadow」);
}

執行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shadow

這是網上抄來的,還有些地方搞不清楚,請高手詳細分析一下.那些信號是什麼?還有,編寫的程序有許可權之分?有那些?
system的工作是用指針來完成的?過程呢?

③ 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 復制文件和目錄樹。

④ c system 怎麼返回值

C語言中通常使用poenp函數獲取linux命令返回值。

#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

intmain(void)
{
FILE*stream;
FILE*wstream;
charbuf[1024];

memset(buf,'',sizeof(buf));//初始化buf
stream=popen("curl
,"r");//將「curl
」命令的輸出通過管道讀取(「r」參數)到FILE*stream
fread(buf,sizeof(char),sizeof(buf),stream);//將剛剛FILE*stream的數據流讀取到buf中
pclose(stream);
return0;
}

⑤ C語言用system函數,老司機。

要用反斜杠''轉義雙引號:

system("netuseradministrator""");

⑥ C語言中system函數顯示出來的數據 賦值給其他函數

如果用system那就繞一下,先輸出到文件,然後讀文件獲取結果
比如,你原本要執行dir
那麼實際執行dir>t.txt
結果就存到這個t.txt中了
再打開文件讀文件,處理數據即可

也可以改成popen
這個更簡單,具體用法,自行網路

⑦ c語言的函數返回值

所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。

關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。

⑧ C語言中system函數的用法

函數名: system
功 能: 發出一個DOS命令
用 法: int system(char *command);
程序例:

#include
#include

int main(void)
{
printf("About to spawn command.com and run a DOS command\n");
system("dir"); //這里就是DOS下的dir命令
return 0;
}

⑨ windows 下 C/C++調用的system函數的返回值是什麼 不是Linux系統。

如果子程序調用成功,Windows下的system函數返回0,該返回值不是子進程返回值,在Windows系統中因為進程間沒有維護相應的父子關系,所以,也無法得到子進程的返回值。


可以編寫如下代碼C代碼:

#include <stdio.h>

#include <stdlib.h>


int main()

{

unsigned ueax = 0;

system("pause");

__asm mov eax, ueax //使用內聯匯編,取eax寄存器的值,eax保存函數返回值

printf("%x ", ueax);

return 0;

}

執行結果如下圖所示:

可見,執行程序時,返回值的確是0。

⑩ c語言system函數的用法

這是dos命令。

system("ATTRIB C:\\a.txt +H"); //把C:\a.txt設置為隱藏。

attrib指令的格式和常用參數為
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 設置屬性。
- 清除屬性。
R 只讀文件屬性。
A 存檔文件屬性。
S 系統文件屬性。
H 隱藏文件屬性。
[drive:][path][filename]
指定要處理的文件屬性。
/S 處理當前文件夾及其子文件夾中的匹配文件。
/D 也處理文件夾。