C 使用fgets删除字符串
我有一个普通的文本文件,如下所示: Debdipta 1234567 8 rajat 123432 4 Kaushik 685784 7 djghkvnfj 213122 6 知道在fputs里放什么吗 还有其他代码吗C 使用fgets删除字符串,c,C,我有一个普通的文本文件,如下所示: Debdipta 1234567 8 rajat 123432 4 Kaushik 685784 7 djghkvnfj 213122 6 知道在fputs里放什么吗 还有其他代码吗 感谢可能的伪代码解决方案: while(fgets()) { if (!is_string_i_want_to_throw_away()) fputs() } 您遇到的最大问题是,您希望写入与读取的文件相同的文件。这并不容易。在写入临时文件时,从原始文件
感谢可能的伪代码解决方案:
while(fgets())
{
if (!is_string_i_want_to_throw_away())
fputs()
}
您遇到的最大问题是,您希望写入与读取的文件相同的文件。这并不容易。在写入临时文件时,从原始文件读取要容易得多。完成后,将临时文件重命名(或复制)为原始文件。您需要以良好的格式存储txt文件,例如在字符串末尾添加分号或任何分隔符,然后您可以轻松检查该分隔符。或者,您可以使用xml或json存储文本文件,甚至更好:将
fgets()
替换为读取2行的getrecord()
调用,将fputs()
替换为写入2行的putrecord()
调用。
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);
while(fgets())
{
if (!is_string_i_want_to_throw_away())
fputs()
}