c++ - C语言fseek函数的SEEK_CUR问题
巴扎黑
巴扎黑 2017-04-17 15:06:03
0
1
1194

我在文件中有“NAME”这个单词,我想把它读出来,不用fscanf函数,用一个字符一个字符地读,比如fgetc函数,需要将读文件指针移动,所以我用了fseek函数,想让它向前移动一个位置:

fseek(fp,1,SEEK_CUR);

我最开始时用下面代码,读到了'N'这个字符:

ch=fgetc(fp);
printf("%c",ch);

接下来用fseek函数再往下读,我显示的总是一个'?'字符,没有读出'A'字符,结果如下:

完整代码如下:

#include <cstdio>
#include <cstring>
#include <fstream>
using namespace std;

int main(){
    FILE *fp;
    fp=fopen("test.txt","r+");
    if(fp==NULL){
        printf("there is no character.");
        return 0;
    }
    char ch;
    char test[255];
    ch=fgetc(fp);
    printf("%c",ch);
    fseek(fp,1,SEEK_CUR);
    ch=fgetc(fp);
    printf("%c",ch);
}

...

巴扎黑
巴扎黑

全員に返信(1)
Ty80
  1. r+

  2. する必要はありません
  3. fseekする必要はありません。 fgetc はファイルの現在の読み取り位置を自動的に進めます

  4. メモ帳でファイルを編集しましたか? fseek(fp, 4, SEEK_CUR);試してみますか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!