Я пытаюсь загрузить файл CSV в один размерный массив. Я могу вывести содержимое файла CSV, но при попытке скопировать его в массив у меня возникли некоторые проблемы.
Вот мой существующий код, который, как я понимаю, довольно плох, но я учу себя:
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LENGTH 1024
#define MAX_CSV_ELEMENTS 1000000
int main(int argc, char *argv[])
{
char line[MAX_LINE_LENGTH] = {0};
int varCount = 0;
char CSVArray[MAX_CSV_ELEMENTS] = {0};
FILE *csvFile = fopen("data.csv", "r");
if (csvFile)
{
char *token = 0;
while (fgets(line, MAX_LINE_LENGTH, csvFile))
{
token = strtok(&line[0], ",");
while (token)
{
varCount++;
CSVArray[varCount] = *token; //This is where it all goes wrong
token = strtok(NULL, ",");
}
}
fclose(csvFile);
}
return 0;
}
Есть ли лучший способ, которым я должен это делать? Заранее спасибо!