Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
C-sscanf不忽略空白_C_File_Scanf - Fatal编程技术网

C-sscanf不忽略空白

C-sscanf不忽略空白,c,file,scanf,C,File,Scanf,我正在读取一个文本文件,并使用逗号作为分隔符,但当我打印lname时,下面的行确实起作用,它不会忽略逗号后的空白,并在name前打印一个空格。如何调整代码以忽略空白 文本示例: 罗伯,史密斯,4,12,sometext 史蒂夫,琼斯,41286,有些文字 sscanf(line, "%[^,],%[^,],%d,%d,%s", fname,lname,&num1,&num2,info); 如果要忽略空白,只需添加空白字符: sscanf(line, " %[^,], %[^,]

我正在读取一个文本文件,并使用逗号作为分隔符,但当我打印lname时,下面的行确实起作用,它不会忽略逗号后的空白,并在name前打印一个空格。如何调整代码以忽略空白

文本示例:

罗伯,史密斯,4,12,sometext
史蒂夫,琼斯,41286,有些文字

sscanf(line, "%[^,],%[^,],%d,%d,%s", fname,lname,&num1,&num2,info);

如果要忽略空白,只需添加空白字符:

sscanf(line, " %[^,], %[^,], %d, %d, %s", fname, lname, &num1, &num2, info);
%d
%s
之前的空格不是必需的,因为它们已经跳过了前导空格字符。唯一不跳过前导空格的格式说明符是
%c
%[
%n


请注意,
*scanf
格式字符串中的空白字符指示
scanf
扫描任意数量的空白,包括无空白,直到第一个非空白字符。

如果要忽略空白,只需添加空白字符即可:

sscanf(line, " %[^,], %[^,], %d, %d, %s", fname, lname, &num1, &num2, info);
不需要
%d
%s
之前的空格,因为它们已经跳过了前导空格字符。唯一不跳过前导空格的格式说明符是
%c
%[
%n


请注意,
*scanf
格式字符串中的空白字符指示
scanf
扫描任意数量的空白,包括无空白,直到第一个非空白字符。

请注意,
sscanf(“,”,“,%[^,],”,fname);
将停止扫描,并且不会将任何内容保存到
fname
中。IOWs,名称必须包含一些非空格。请注意
sscanf(“,”,%[^,]”,fname);
将停止扫描,并且不会将任何内容保存到
fname
中。注意,名称必须包含一些非空格。嘿,酷哥,我想学习所有这些东西,但我找不到好的源代码,你能给我指一下关于所有这些的好源代码吗?嘿,酷哥,我想学习所有这些东西,但我找不到好的源代码,你能告诉我吗你能告诉我这一切的好消息来源吗?