簡體   English   中英

文件程序-fseek不起作用

[英]File program - fseek isnt working

我在使此fseek()函數在我的代碼中工作時遇到麻煩。 我寫的文字並不是從我指出的那一點開始的,我也不知道為什么。 它應該從\\ n開始寫入,並且只會覆蓋所有文本文件。 即使我用a打開它,也不會在我通過參數命令的地方進行。

   fclose(file);
    FILE *file_a = fopen("ex6.txt", "w");

    fseek(file_a, -1, SEEK_END);

    puts("Write text to add:");
    while((letter = getchar()) != '\n')
    {
        fputc(letter, file_a);
    };

怎么了? 為什么不起作用?

導航到絕對值僅在以二進制模式打開文件時有效。 當它以文本模式打開時, fseek()無法導航到文件中除0(文件的開頭)之外的絕對位置,而嘗試這樣做將導致不確定的行為。 但是,您可以導航到ftell()返回的文件中的引用。 原因是由於某些操作系統對某些字符的處理。 一些實現允許它,但是POSIX並不要求它。

我知道您已在評論中解決了該問題,這僅是為了解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM