2012-11-15 25 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

相关问题