这种格式字符串有什么作用?
fscanf("%30[^$]");
我不知道它做了什么,并且会很乐意解释它。
答案 0 :(得分:1)
30
是字符串的最大输入长度,除非找到'$'
。
这是来自文件的字符串,但您没有目标字符串或文件。也许
char str[31];
FILE *fil = fopen("myfile.txt", "rt");
if(fil == NULL) { /* error */ }
if(fscanf(fil, "%30[^$]", str) != 1) { /* error */ }
答案 1 :(得分:0)
fscanf从流中读取数据并根据参数存储它。由于风向标声明您的代码显示最大长度,除非找到$。你错过了存放它的地方。您可能会发现http://www.cplusplus.com/reference/cstdio/fscanf/很有用。它显示了如何格式化fscanf以及%和^等不同的说明符。