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

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


我在哪里做错了?

最佳答案

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

关于c - 在C中将文件光标移动两行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14292342/

10-11 14:46