【发布时间】:2018-12-01 01:07:56
【问题描述】:
所以我试图根据用户输入打开一个文件,但我只是不断收到我输入的内容。
这就是我所拥有的。
#include <stdio.h>
#include <string.h>
int main(void)
{
FILE* data;
char a[144];
printf("Enter a filename:\n");
fscanf(stdin, "%143[^\t]", a);
data = fopen(a, "r");
printf("%s", a);
fclose(data);
return 0;
}
这是我的文本文件。
larry snedden 123 mocking bird lane
sponge bob 321 bikini bottom beach
mary fleece 978 pasture road
hairy whodunit 456 get out of here now lane
【问题讨论】:
-
在用户输入完文件名后,我需要向用户显示文件中的内容。
-
您打开文件,但实际上忘记从中读取。您只需再次打印文件名。 (也就是说,如果文件已成功打开,您可能想添加一个测试。)
-
好的。我该怎么做?
-
fscanf(stdin, "%143[^\n]", a);如果您使用[^\t],您将阅读并包含尾随换行符——这不是您想要的。 (除了不阅读data) -
“从文件中读取”?最好从另一个来源学习。这是非常非常基本的 C。从您之前的问题中,我得到的印象是您试图通过同化来学习,而不是参加任何推荐的结构化课程。逐步学习一门语言并不是 Stack Overflow 的目的。
标签: c arrays string file stdin