在C中移位文件光标两行

时间:2013-01-12 10:16:12

标签: c file cursor shift

我想将光标移动两行。我的意思是我想忽略前两行并得到文件的第三行。这是我的代码:

void dosyaImlecOtele(int satir,FILE *dosya){
    int i,karakter;
    char temp[100];
    for(i=0;i<satir;i++){
        karakter = getc(dosya);
        while(karakter != '\n' && !feof(dosya)){
             karakter = getc(dosya);
        }
    }
    fread(temp,sizeof(char),100,dosya);
    printf("%s",temp);
    }

我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

for循环结束时,karakter包含第三行的第一个字符(假设satir为2),因为它被读取后发现它不是新行。您可以使用ungetc将字符放回流中。