gpt4 book ai didi

c - 如何读取 C 中以逗号分隔的 .txt 文件?

转载 作者:行者123 更新时间:2023-11-30 19:11:10 25 4
gpt4 key购买 nike

我在执行此任务时遇到很多问题。我有一个txt,只有一行用逗号分隔的单词。我必须阅读此内容并将其放入数组中。到目前为止,我尝试使用 strtok() 但它只会给我错误。这是我的代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<omp.h>
int main(){
char string[5000],list[200],*token,s=", ";
int i;
FILE *lista;
lista=fopen("lista.txt","r");
i=0;
token=strtok(string,s);
strcpy(list[i],token);
while(fscanf(lista,"%s",string)!=EOF){
token=strtok(NULL,s);
strcpy(list[i],token);
i=i+1;
}
fclose(lista);
}

它给了我“expectig char *restrict”错误我真的没有主意了。顺便说一句:我在 Linux 中

最佳答案

你的代码中有很多奇怪的东西,但我猜,你想要这样的东西:

char string[5000], *list[200], *token;
char * s = ",";
int i;
FILE *lista;
lista = fopen("C:\\File.txt", "r");

int MAX_FILE_SIZE = 1000;
char * buffer = (char*)malloc(sizeof(char)*MAX_FILE_SIZE);
fread(buffer, sizeof(char), MAX_FILE_SIZE, lista);

list[0] = strtok(buffer, s);
for (int i = 1;; i++)
{
list[i] = strtok(NULL, s);
if (list[i] == NULL)
{
break;
}
}

fclose(lista);

您的代码中有什么奇怪/错误的地方:

  • 您正在将 char* string 传递给 strtok 函数,但传递时此变量未初始化
  • 您有文件指针lista,但您从未读取此文件
  • 您有变量 list,它是 200 个字符的数组,但我猜您希望将变量 list 作为字符串列表
  • strtok 两个参数,const char* inputString 和 const char* delimiter。所以你的变量 s 应该是 const char *

关于c - 如何读取 C 中以逗号分隔的 .txt 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40569319/

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