Чтение столбцов - PullRequest
       9

Чтение столбцов

0 голосов
/ 18 июля 2011

Я работаю над кодом C, чтобы прочитать три столбца чисел из входного файла, а затем выполнить основную математику с полученными числами. Мой входной файл выглядит так:

155,4996 38,0078 7,65

93,9968 44,9926 7,68

В настоящее время я пытаюсь разделить столбцы с помощью sscanf. Чтобы начать, я пытаюсь прочитать столбцы и вывести только третий столбец в выходной файл. Вот то, что у меня сейчас есть:

FILE * fp;
FILE * fp2;
char *string;
char out[2000];
char read[1000];
int column1, column2, column3;

strcpy(read, "casecent");
strcpy(out, "Diff");

fp = fopen(read, "r");
fp2 = fopen(out, "w+");

while (!feof(fp))
{
    fgets(string, 1000, fp);
    sscanf(string, "%d %d %d", &column1, &column2, &column3);
    fprintf(fp2,"%d\n", column3);

}

В настоящее время я получаю нули в выходном файле вместо цифр. Я уверен, что мне просто не хватает чего-то маленького и глупого, но если бы вы могли мне помочь, это было бы очень ценно.

1 Ответ

1 голос
/ 18 июля 2011

Используйте float или double для типов данных переменных столбца.Затем используйте %f или %lf соответственно в строке формата для sscanf, в зависимости от того, какой тип данных вы выбрали.

Если вы хотите сохранить или распечатать значения как целые числа, у вас все равно будетсначала читать их как числа с плавающей запятой или удваивать, а затем конвертировать.

...