我正在阅读.txt文件。我使用fscanf在格式化后获取数据。 我有问题的线路是这样的:阅读字符串fscanf问题
result = fscanf(fp, "%s", ap->name);
这是罚款,直到我有一个空格如姓名:圣艾夫斯 所以我用这个在白色空间为:
result = fscanf(fp, "%[^\n]s", ap->name);
但是,当我尝试读取名字(没有空格)时,它不起作用,弄乱了其他fscanf。
但我用[^ \ n]在我使用的不同文件中正常工作。不知道发生了什么事。
如果我在上面的fscanf的地方使用fgets,我会在变量中得到“\ n”。
编辑//
好了,如果我使用:
result = fscanf(fp, "%s", ap->name);
result = fscanf(fp, "%[^\n]s", ap->name);
这让我在没有空格的字符串读取。但是当我得到一个带有空格的“名称”时,它不起作用。
是否有可能在文件中有额外的换行符? – 2009-12-12 14:57:34