0

我有一个普通的文本文件,如下所示:

德比塔
1234567 8
拉贾特
123432 4
考希克
685784 7
djghkvnfj
213122 6

我想从此文件中删除一个字符串,例如:下面-

德比塔
1234567 8
考希克
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 回答