很多c語言初學者的除錯時,往往沒看到結果程式就退出了,據我所知的方法主要有以下幾種
方法一:
#include
int main()
/*關於system參考 */
system
開放分類:電腦程序、c語言庫函式
程序檔案:system
程序名:system
描述:system - 系統 體制 計畫
系統裡確實有system這個程序,但注意,它並不是system.exe,可能是木馬偽裝而成的,還是先查查木馬吧
程序檔案:system.exe
程序名稱:system.exe
描述:system.exe是netcontroller木馬病毒生成的檔案,出現在c:\windows目錄下,建議將其刪除。但要系統的system程序區分開來。system程序是沒有.exe的,其資訊可見:
出品者:未知
屬於:未知
系統程序:否
後台程序:否
使用網路:是
硬體相關:是
常見錯誤:未知
記憶體使用:未知
安全等級:4
間諜軟體:否
廣告軟體:否
病毒:否
木馬:否
如果你用的是xp系統,這個程序在「任務管理器」中就結束不掉,結束掉的程序說明這個程序不能對系統造成直接危害,不過,用其它軟體可能能強制結束,但這樣會造成藍屏等現象。
如果你是vista系統,結束掉之後,馬上就會藍屏。這個是系統的程序,是記憶體執行的!如果關掉會有可能出現兩種情況!
一:藍屏。
二:出現那個說你是非法程式的對話方塊。
總的來說就是系統有可能崩潰!
system:[ 'sistəm ]
n.1. 體系;系統[c]
2. 制度,體制[c]
3. 現存社會體制[the s]
4. 秩序,規律[u]
5. 方式,方法[c]
6. 身體,全身[the s]
7. 宇宙,世界[the s]
windows作業系統下system () 函式詳解
函式名: system
功 能: 發出乙個dos命令
用 法: int system(char *command);
system函式已經被收錄在標準c庫中,可以直接呼叫
程式例:
#include
#include
int main(void)
linux作業系統下system () 函式詳解
(執行shell 命令)
相關函式
fork,execve,waitpid,popen
表頭檔案
#i nclude
定義函式
int system(const char * string);
函式說明
system()會呼叫fork()產生子程序,由子程序來呼叫/bin/sh-c string來執行引數string字串所代表的命令,此命》令執行完後隨即返回原呼叫的程序。在呼叫system()期間sigchld 訊號會被暫時擱置,sigint和sigquit 訊號則會被忽略。
返回值=-1:出現錯誤
=0:呼叫成功但是沒有出現子程序
>0:成功退出的子程序的id
如果system()在呼叫/bin/sh時失敗則返回127,其他失敗原因返回-1。若引數string為空指標(null),則返回非零值》。如果system()呼叫成功則最後會返回執行shell命令後的返回值,但是此返回值也有可能為 system()呼叫/bin/sh失敗所返回的127,因此最好能再檢查errno 來確認執行成功。
附加說明
在編寫具有suid/sgid許可權的程式時請勿使用system(),system()會繼承環境變數,通過環境變數可能會造成系統安全的問題。
範例#i nclude
main()
執行結果:
-rw-r--r-- 1 root root 705 sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 sep 2 15 :34 /etc/shado
例2:char tmp;
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1.
方法二:
#include
int main()
方法三:
#include
int main()
getch
開放分類:計算機語言、計算機技術、程式設計、程式、函式
函式名: getch
功 能: 從控制台無回顯地取乙個字元
用 法: int getch(void);
程式例:
#include
#include
int main(void)
在windows/ms-dos中,也可以利用getch()函式讓程式除錯執行結束後等待程式設計者按下鍵盤才返回編輯介面,用法:包含conio.h標頭檔案後,在主函式結尾,return 0;之前加上getch();即可
方法四:
#include
int main()
kbhit
開放分類:程式設計、函式、計算機、c語言
函式名: kbhit
功 能: 檢查當前按下的鍵
用 法: int kbhit(void);
程式例:
#include
#include
int main(void)
printf("press any key to continue:");
while (!kbhit()) /* do nothing */ ;
eprintf("\r\na key was pressed...\r\n");
return 0;
}kbhit() 在執行時,檢測是否有按鍵按下,有按下返回鍵值
沒有按下返回0;是非阻塞函式
getch() 在執行時,檢測按下什麼鍵,如果不按鍵該函式不返回;是阻塞函式
方法五:增加中斷,只適用於除錯
Console 控制台 程式暫停檢視結果方法
console 控制台 程式暫停檢視結果方法 1.visual studio 2008 中使用ctrl f5執行程式,而不是f5除錯執行程式 2.在main函式的return 0 語句之前呼叫獲取輸入的函式 c getchar 回車回顯 getch 不回顯 getch getche 直接回顯 get...
C語言掃雷控制台程式
c語言寫的,花了一天時間,一次只能翻一張,就這樣吧 include include include include include include typedef struct saolei sl typedef struct xy xy sl p xy xy 設定顏色 void set color...
C語言控制台美化教程
本文介紹兩種控制控制台顏色的方法 第一套 第二套 在windows下的system函式中命令可以不區別大小寫!函式 system 功 能 執行dos命令 函式定義 int system char command system函式已經被收錄在標準c庫中,可以直接呼叫。system 可以執行dos命令,...