gpt4 book ai didi

C 如何忽略以 * 开头或仅包含空格的行

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

我正在尝试逐行读取文件并使用 strtok 获取每个单词。但我需要忽略空行或以 * 开头的行或仅包含空格的行。这是我的代码:

char line[len];
while (fgets(line, sizeof(line), input)) {
char* words= strtok(line," ");
//MY FIRST TRY TO FIND EMPTY LINES
if(strcmp(line," ") == 0){
continue;
}
int i=0;
while(words != NULL){
//MY SECOND TRY TO SKIP EMPTY WORDS
while(words[i] == ' ' && words[i] != '\0'){
i++;
}
if(words[i] != '\0'){
fprintf(output,words);
}
i=0;
words=strtok(NULL," ");
}
}

两次尝试都失败了。

最佳答案

您可以将以下代码放在while 的开头循环跳过以空白字符开头然后是 '*' 或空白行的行:

for (i = 0; line[i] && isspace(line[i]); i++)
;

if (line[i] == '*' || line[i] == '\0')
continue;

注意:记得定义i首先包括<ctype.h>在源文件的开头。

关于C 如何忽略以 * 开头或仅包含空格的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23172203/

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