fscanf()格式字符串“%30 [^ $]”在C中有什么作用?

时间:2018-02-03 18:34:34

标签: c scanf

这种格式字符串有什么作用?

fscanf("%30[^$]");  

我不知道它做了什么,并且会很乐意解释它。

2 个答案:

答案 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以及%和^等不同的说明符。

相关问题