【发布时间】:2019-03-23 22:34:17
【问题描述】:
我正在尝试读取键盘输入并将它们逐行写入一个新文件(一个不存在的文件),直到写入一个特定字母(在本例中为 -x-),但它似乎不起作用,我保留出错我做错了什么?
void newfunc(){
FILE *fp;
fp = fopen("newfile.txt", "w+");
char char1[100], char2[100];
int int1, int2;
int x = 0;
printf("Inputs\n");
while(1) {
scanf("%c %d %c %d", &char1[x], &int1, &char2[x], &int2);
if ( char1[x] == "x") {
printf("Done!");
break;
}
else {
fprintf(fp, "%c %d %c %d\n", char1[x], int1, char2[x], int2);
}
x++;
}
fclose(fp);
}
它创建文件但不向其中写入任何内容。
【问题讨论】:
-
你遇到了什么错误?
-
警告:指针和整数之间的比较和警告:与字符串文字比较导致未指定的行为[-Waddress]符合'if'
-
当我写'x'时它也不会停止,它会一直继续
-
你试图一次做太多新的事情。首先尝试一些更简单的事情,比如接受用户输入直到它包含“x”,然后将硬编码字符串写入文件。分别掌握这些东西,然后再一起尝试。
-
我明白你的意思,谢谢你,我很感激。