0

私は以下のような通常のテキストファイルを持っています:

デビプタ
12345678
ラジャット
123432 4
カウシク
685784 7
djghkvnfj
213122 6

このファイルから文字列を削除したいex:below-

デビプタ
12345678
カウシク
685784 7
djghkvnfj
213122 6

rajatとそれに対応するフィールドが削除されていることがわかります。

このトラフCをやりたいですか?この文字列をファイリングし、次のコードを使用してファイルポインタをそこに置くことができます。

fseek(fp, 0, SEEK_SET);
while(!feof(fp))
{
    fgets(strFileMem, MAX_PATH, fp);
    fseek(fp, 0, SEEK_CUR);
    if( NULL == strstr(strName, strFileMem) )
    {
        break;
    }
}
int ierr = fputs(" ", fp);
ierr = fputs(" ", fp);

fputsに何を入れるべきか考えていますか?

他のコードはありますか?

ありがとう

4

1 に答える 1

2

考えられる擬似コードソリューション:

while(fgets())
{
    if (!is_string_i_want_to_throw_away())
        fputs()
}

あなたが抱えている最大の問題は、あなたが読んだのと同じファイルに書きたいということです。これは簡単ではありません。一時ファイルに書き込みながら、元のファイルから読み取る方がはるかに簡単です。完了したら、一時ファイルの名前を元のファイルに変更(またはコピー)します。

于 2012-12-08T09:33:54.533 に答える