Member 13213568 Ответов: 2

Как читать из файлов на языке Си, не повторяя первый символ при чтении ?


как я могу читать из файлов на языке Си, не повторяя первый символ при чтении ?

Что я уже пробовал:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char course_name[20];
    int number_of_student;
    double courses_average_grade;
    int i;
    FILE *in;

    in=fopen("course_info.txt","r");

    for(i=0;i<20;i++) {
        fscanf(in,"%s %d %lf",&course_name[i],&number_of_student,&courses_average_grade);
        printf("%s \t %d \t %.2f \n",course_name,number_of_student,courses_average_grade);
    }

    return 0;
}

[no name]

"не повторяя первого символа при чтении", это зависит от того, о чем вы говорите.

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. И без вашего входного файла мы не можем иметь ни малейшего представления о том, что вы получаете в качестве выходного! Поэтому отредактируйте свой вопрос, покажите нам несколько строк примерных входных данных и добавьте пример выходных данных - объясните именно то, что вы не ожидали получить!
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

OriginalGriff

Да, и кстати: выберите стиль брекетинга и придерживайтесь его.
Переход от K&R к "скрыть скобки и не делать отступов в коде" не делает даже такие тривиальные примеры кода легко читаемыми.

2 Ответов

Рейтинг:
0

RickZeeland

Я думаю, что ваш fscanf() заявление должно быть без [i]:

fscanf(in,"%s %d %lf",&course_name,&number_of_student,&courses_average_grade);


Рейтинг:
0

Kornfeld Eliyahu Peter

course_name и &course_name[i] одинаковы только в том случае, если i это ноль!!!
Так что пишите и в fscanf course_name только...