gpt4 book ai didi

C - sscanf 不忽略空白

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:27 27 4
gpt4 key购买 nike

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

文本示例:

Rob, Smith, 4, 12, sometext
Steve, Jones, 41, 286, sometext

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 扫描任意数量的空白,包括无,直到第一个非空白字符。

关于C - sscanf 不忽略空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55670513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com