2012-11-15 49 views
1

我試圖做一個秒錶程序,它將寫czasfile.txt。我今天開始學習C,所以如果這是一個愚蠢的問題,請對我寬容,但編譯器不會拋出任何錯誤,NetBeans也不會顯示任何感嘆號。有我的代碼:RUN FAILED退出值-1 073 741 819 - 我的代碼出了什麼問題?

#include <windows.h> 
#define sleep(x) Sleep(1000 * x) 

#include <stdio.h> 
#include <stdlib.h> 

int a = 0; 
int czas = 0; 
int main (void) 
{ 
    FILE *file; 
    while (a < 30) { /*repeats only 30 times*/ 
     a = a + 1; /*increases the counter for while loop*/ 
     file = fopen("file.txt","w"); /*opens file.txt for writing*/ 
     fprintf(file,"%s", czas); /*writes czas to file.txt*/ 
     fclose(file); /*closes file.txt to save*/ 
     czas = czas + 1; /*increases czas for writing to file*/ 
    } 
return 0; 
} 

有人能幫助我嗎?

回答

3

%s需要char*作爲參照參數。

你想寫出一個int,其中預計%d。請參閱man fprintf


如果你喜歡的czas在新的一行每一個新的價值,你可以在fprintf()聲明像這樣指定的:

fprintf(file,"%d\n", czas); 
+0

哦,現在我明白了,非常感謝你。你能告訴我哪裏可以在Windows下找到'man printf'? – mbgfa

+0

爲'fprintf網站:msdn.microsoft.com'做一個Google。 – alk

+0

'如果您希望在新行上有每一個新的czas值,您都可以在fprintf()語句中指定此值,如下所示: fprintf(file,「%d \ n」,czas);'謝謝,但是我不應該關閉這個文件,因爲它會每次擦拭,對吧? – mbgfa

相關問題