【发布时间】:2015-04-09 13:04:16
【问题描述】:
我编写了一个程序来保存足球队的统计数据。我将统计信息保存在一个文件中,并将所有匹配项记录在另一个名为“record.txt”的文件中。
在我的record.txt文件中,写法的格式是:
[对手名称] [当前日期]
我面临的问题是,有时我在一行中得到“对手名称”“日期”,有时日期在新行中开始
这是我得到的图片 pic of output file
这是我的代码
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,80,"%d/%m/%y",timeinfo);
/* current date acquired */
FILE *history;
history = fopen("record.txt", "a");
char opponent[10]; //opponent name
printf("Opponent Name: ");
fgets( opponent, 10, stdin);
fprintf(history, "Opponent: %s %s\n", opponent, buffer);
fclose(history);
【问题讨论】:
-
请在此处重新发布代码和示例输出,并非每个人的网络都允许使用 pastebin 或 imgur。
-
您根本不执行任何检查,
fopen()/fgets()可能会失败,您必须进行检查。 -
我已经发布了代码。不幸的是,我不允许发布照片
-
fgets( opponent, 10, stdin);-->scanf("%9[^\n]", opponent); -
scanf("%9[^\n]", 对手); //关于这是如何工作的任何解释? (或参考)