gpt4 book ai didi

c - 在 C 中读取输入文件时忽略空格

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:13 25 4
gpt4 key购买 nike

我正在尝试编写将每行的第一个单词注册为命令的代码,但我希望能够读取该单词,而不管它前面是否有空格。我目前正在使用 fgets() 和 strncmp 每行的前 x 个字符来执行此操作,但它不适用于任意数量的空白。我曾尝试在 fgets() 循环内使用 sscanf() 将每行的第一个单词存储到一个变量中,但它似乎跳过了各行并错误地读取了它们。我不想发布代码,因为它很长,但基本上是这样的:

while( fgets(Line, BUFFER, input) != NULL )
{
if(strncmp(Line, "Word", 4) != NULL)
//DO SOMETHING
}

有很多 strncmp,我希望它们中的每一个都忽略任意数量的前面空格。

最佳答案

您可以使用 isspace跳过空格:

#include <ctype.h>

while( fgets(Line, BUFFER, input) != NULL )
{
char *p = Line;
while (isspace(*p)) // skip whitespace
p++;
if(strncmp(p, "Word", 4) != NULL)
//DO SOMETHING
}

关于c - 在 C 中读取输入文件时忽略空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643283/

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