gpt4 book ai didi

c - 将多行文本解析为单独的字符串

转载 作者:行者123 更新时间:2023-11-30 17:37:38 27 4
gpt4 key购买 nike

我正在尝试从 c 中的 .txt 文件中解析多行文本。我现在的方式只解析一行。我想知道如何扫描多行并将它们保存在不同的字符串中

我的代码:

void parser();
#define ROOM_STRING_LENGTH 10000
int main(int argc, char *argv[])
{
parser();

return 0;
}


void parser()
{
FILE * rooms;
int i;
char c;
char roomStrings[ROOM_STRING_LENGTH];

rooms = fopen("assets/rooms.txt", "r");

if(rooms == NULL)
{
printf("error opening file\n");
}

fscanf(rooms, "%s", roomStrings);
while((c=fgetc(rooms))!='\n')
{

roomStrings[i] = c;
i++;
}
printf("%s\n", roomStrings);
fclose(rooms);
}

最佳答案

您可能想要使用 fgets() 而不是 fgetc()。一次读取一整行。 Here is an explanation of fgets().

如果您知道正在阅读的行数,则可以将 roomStrings 设为字符串数组,如下所示:char roomStrings[NUM_LINES][ROOM_STRING_LENGTH]。否则,有多种方法可以动态调整其大小。

关于c - 将多行文本解析为单独的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22338781/

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