【发布时间】:2013-05-18 04:47:58
【问题描述】:
我一直在尝试通过首先对文件进行标记来读取文件中的数据。在这个例子中,我已经做到了,它要求您首先在自己中输入数据(我已经确保它有效),然后将其读入,但用空格标记。因此,如果我要输入“Hello World”,它应该返回:“Hello, World”。 这是我的代码。
char fname[] = "myfile";
FILE *fp;
fp = fopen(fname, "w+");
char buffer[20];
sprintf(prompt, "Enter your string: ", MAX_TAN_INPUT);
getString(number, MAX_TAN_INPUT, prompt);
printf("\n");
if (fp == NULL)
{
fprintf(stderr, "Unable to open file %s\n", fname);
}
else
{
printf("YAYYY. It opened!\n");
fprintf (fp, "%s\n", number);
fseek(fp, SEEK_SET, 0);
fread(buffer, strlen(fp)+1, 1, fp);
printf("%s\n", buffer);
{
/* No more data read. */
}
}
printf ("HERE\n");
fclose(fp);
任何帮助将不胜感激 :)
【问题讨论】:
-
当 strtok 函数采用 char* 时,您似乎正在传递 FILE*...此外,文件已关闭...linux.die.net/man/3/strtok
-
@Homer6 - 你是对的。我修复了文件关闭部分。仍在查看 FILE*/char* 部分。
-
您可能应该先使用 fread 将文件的内容读入字符串...manpagez.com/man/3/fread 看看您是否可以谷歌查找示例并尝试组合示例...还有,例如@JimBalter说,发布和谷歌搜索编译器错误有很大帮助
-
@Homer6 - 我需要做的实际事情是将其读入二维链表。我仍然是一个菜鸟,正在研究如何做到这一点。我想我会先学习并正确阅读数据部分。
-
@YaserSleiman 为此我推荐 c++:cplusplus.com/reference/list/list/push_back 另外,如果你有时间,这个讲座价值一百万美元(如果可以的话,请观看所有这些并购买文本)@ 987654324@
标签: c token file-processing