gpt4 book ai didi

c - 从文件中扫描字符串

转载 作者:行者123 更新时间:2023-11-30 17:43:20 24 4
gpt4 key购买 nike

例如,我有一个包含以下数据的文件:

22 John Sm1th 3.14

我想将 22 存储为 int,将 John Sm1th 存储为字符串,3.14 存储为 float

int main()
{
int n;
char str[51];
float f;

FILE *fp;
fp=fopen("aaa.txt");

fscanf(fp, "%d", &n);
fflush(stdin);
fgets(str, ***, fp);
fflush(stdin);
fscanf(fp, "%d", &f);

fclose(fp);
system("PAUSE");
return 0;
}

在 fgets() 调用中,我如何知道在 *** 中放入什么数字?我无法真正使用 strlen()sizeof() 来获取大小,因为尚未读取字符串。

最佳答案

由于您要读取的字符串中有一个数字,因此您不能真正使用 scanf 的设置格式,也不能使用 fgets 作为您事先不知道内部字符串有多长。

最好的选择可能是读取整行,然后在空格上进行标记(例如 strtok )。获取第一个和最后一个标记,然后转换为数字,同时获取所有中间标记并将它们连接成一个字符串。

关于c - 从文件中扫描字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com