/*****************************************************************************
功能描述 : 删除csv文件某一行的数据
输入参数 : pName : 文件名(含路径)
iLineNum : 行编号。从1开始
输出参数 :
返 回 值 : 是否成功;0成功,-1 失败
*****************************************************************************/
int DeleteOneLine(unsigned char * pName, int iLineNum)
{
char buf[4096]; //每读取一行,都将内容放到该数组中
int fp = open(pName, O_RDONLY); //f原内容
int fpt = open("temp.txt",O_CREAT|O_TRUNC); //将原文件第n行内容删除后存入temp.txt中
int i = 0;
int iReturn= 1;
while(iReturn > 0)
{
i++;
if (i == iLineNum)
{
iReturn=read(fp, buf, sizeof(buf));
}
else
{
iReturn=read(fp, buf, sizeof(buf));
write(fpt, buf, sizeof(buf));
}
}
close(fp);
close(fpt);
fpt = open("temp.txt", O_RDONLY);
//清空filepath文件
fp = open(pName, O_TRUNC);
close(fp);
fp = open(pName, O_APPEND);
iReturn=1;
while(iReturn > 0)
{
iReturn=read(fpt, buf, sizeof(buf));
write(fp, buf, sizeof(buf));
}
close(fp);
close(fpt);
int result = remove("temp.txt");
return result;
}
【C语言】C语言删除文件指定行
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。