Так что я читаю значения из файла, разделенного запятой, и назначая его 1D массиву парных чисел. Вот метод я использую для достижения этой цели:Назначение ввода текстового файла в массив парных разрядов
double* readFile(char *fileName)
{
FILE *fp = fopen(fileName, "r");
char *token;
int i = 0;
int j = 0;
double *retval = (double *)malloc(5000 * sizeof(double));
if(fp != NULL)
{
char line[10];
while(fgets(line, sizeof line, fp) != NULL)
{
//printf("Parsed line: %s\n", line);
token = strtok(line, ",");
while(token != NULL)
{
printf("token: %s\n", token);
*retval = atof(token);
printf("value: %d\n",*retval);
retval++;
token=strtok(NULL,",");
}
}
fclose(fp);
} else {
perror(fileName);
}
for(j = 0; j < i; j++)
{
retval--;
}
return retval;
}
Проблема я получаю то, что после того, как я назначить atof() из токенизированному значения, которое является правильным, значение, которое сохраняется в Указатель абсолютно неверен. Например, у меня есть текстовый файл, который представляет собой всего лишь нули, а то, что сохраняется в массиве, - сумасшедшие значения, такие как -1587604999 в каждой отдельной позиции.
Кто-нибудь видит проблему?
Это было! Браво! –