gpt4 book ai didi

c - 将文件的每一行存储在 C 结构中,但忽略//之后的部分行

转载 作者:行者123 更新时间:2023-12-02 17:53:03 24 4
gpt4 key购买 nike

我正在用 C 编写一个程序,需要将文本文件的每一行存储在结构数组中,但它需要忽略“//”符号(即注释)后面的行。我已经能够使用以下代码让它存储每一行​​,但我无法弄清楚如何忽略以“//”开头的行的任何部分。这是我的代码部分,它将文本文件的每一行存储为结构数组中的单独索引:

while(!feof(fp))
{
fscanf(fp, "%127s", rName[i].name);
i++;
}

这是我的结构的定义

typedef struct{
char [128] name;
int nameLength;
} stringStruct;

如果下面的文本在我的文本文件中,我基本上只想存储“KeepThis”文本,而不存储“//ignorethis”文本。我还想将每一行存储在数组的不同索引处。

KeepThis//ignorethis
//ignorethis
KeepThis

任何帮助将不胜感激。

最佳答案

简单的方法:通过 strstr 搜索“//”并替换“\0”

#include <stdio.h>
#include <string.h>

int main(void){
char line[128] = "KeepThis//ignorethis";
char *p;
p = strstr(line, "//");
if(p != NULL)//found "//"
*p = '\0';
printf("%s\n", line);//KeepThis
return 0;
}

关于c - 将文件的每一行存储在 C 结构中,但忽略//之后的部分行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753976/

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