从文件中读取整数和字符串,并用#分隔fscanf

时间:2019-07-10 07:41:34

标签: c string integer scanf

我需要一些帮助... 我必须读取一个文件,其中的数据格式如下:

#Country#Code#Currency#
#Country#Code#Currency#
...

示例:

#Australia#039#AUD#
#Canada#109#CAD#

“国家/地区和货币”应为字符串,而“代码”为int。 我应该如何编写fscanf来读取所有这些数据并将其保存在它们的变量中?

我已经尝试过这样格式化fscanf:fscanf(f, "#%s#%d#%s#\n", country, &code, currency);

FILE *f;
char country[20];
int code;
char currency[3];
f = fopen("dat.txt", "r");

while (!feof(f))
        fscanf(f, "#%s#%d#%s#\n", country, &code,currency);

当我尝试运行它时,我发现整行都保存在变量国家/地区中,而不是仅#号之间的第一部分。

当我在#之间只有整数或浮点数时,此原理就像一个符咒。

谢谢!

0 个答案:

没有答案