Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fscanf()格式字符串“quot;”是什么30[^$]”;你喜欢C语言吗?_C_Scanf - Fatal编程技术网

fscanf()格式字符串“quot;”是什么30[^$]”;你喜欢C语言吗?

fscanf()格式字符串“quot;”是什么30[^$]”;你喜欢C语言吗?,c,scanf,C,Scanf,这个格式字符串的作用是什么 fscanf("%30[^$]"); 我不知道它是做什么的,我很乐意为您解释一下。30是字符串的最大输入长度,除非找到'$' 这是一个字符串,来自一个文件,但您没有目标字符串或文件。或许 char str[31]; FILE *fil = fopen("myfile.txt", "rt"); if(fil == NULL) { /* error */ } if(fscanf(fil, "%30[^$]", str) != 1) { /* error */ }

这个格式字符串的作用是什么

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

我不知道它是做什么的,我很乐意为您解释一下。

30
是字符串的最大输入长度,除非找到
'$'

这是一个字符串,来自一个文件,但您没有目标字符串或文件。或许

char str[31];
FILE *fil = fopen("myfile.txt", "rt");
if(fil == NULL) { /* error */ }
if(fscanf(fil, "%30[^$]", str) != 1)  { /* error */ }

fscanf从流中读取数据,并根据参数进行存储。正如weathervane所说,除非找到$,否则代码将显示最大长度。你缺少一个存放它的地方。你会发现这很有用。它显示了如何格式化fscanf以及不同的说明符,如%和^的含义

OP使用scanf的方式很简单。@coderredoc不止这些-这是一个编译器错误。在询问有关基本信息的问题之前,请阅读手册页。这是不到两天内的第二次。