我一直试图在C语言中执行文件练习,但是当我运行教授或教程中的程序(应该起作用)时,文件总是空白。有解决办法吗?
我的计算机很旧,但是它仍然可以运行各种程序,我不明白为什么它不能与文件一起使用
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*program that prints on a file your shopping list*/
int main(int argc, char **argv)
{
FILE *fp= fopen("Shopping list.txt", "w");
int end= 0; //have you finished writing the articles
char article[80]; //the article you want to buy
int n; //quantity
while(!end){
printf("What do you need to buy? ");
fgets(article, 80, stdin);
article[strlen(article)- 1]= '\0';
fprintf(fp, "%s ", article);
printf("How much of it? ");
scanf("%d", &n);
fprintf(fp, "%d\n", n);
printf("Are you done? (1= Yes, 0= No) ");
scanf("%d%*c", &end);
}
fclose(fp);
}
它应该在您输入的文件(已创建并保留为空)上打印出来。没有错误消息
答案 0 :(得分:1)
我已经解决了问题,只需在fopen中指定绝对路径