如何在不重复读取的第一个字符的情况下从C中的文件中读取? [英] How do I read from files in C without repeating the first character in reading ?

查看:69
本文介绍了如何在不重复读取的第一个字符的情况下从C中的文件中读取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在不重复读取第一个字符的情况下读取c中的文件?



我尝试过的方法:



  #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 ;
}

解决方案

我认为你的 fscanf()语句应该没有[i]:

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


course_name & course_name [i] 是仅当 i 为零时才相同!!!

所以写入fscanf也只需 course_name ...

how can i read from files in c without repeating the first character in reading ?

What I have tried:

#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;
}

解决方案

I think your fscanf() statement should be without [i]:

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


course_name and &course_name[i] are the same only if i is zero!!!
So write in fscanf also course_name only...


这篇关于如何在不重复读取的第一个字符的情况下从C中的文件中读取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆