我需要一些帮助... 我必须读取一个文件,其中的数据格式如下:
#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);
当我尝试运行它时,我发现整行都保存在变量国家/地区中,而不是仅#号之间的第一部分。
当我在#之间只有整数或浮点数时,此原理就像一个符咒。
谢谢!