文件的修改程序 c语言,怎么用C语言文件操作修改指定文件 急

本文介绍如何使用C语言进行文件操作,包括插入特定行、显示文件内容及删除指定行的方法,并提供完整示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前位置:我的异常网» C语言 » 怎么用C语言文件操作修改指定文件 急

怎么用C语言文件操作修改指定文件 急

www.myexceptions.net  网友分享于:2013-04-05  浏览:69次

如何用C语言文件操作修改指定文件 急.

如何使用C语言编写个,可提示输入一个字符串,然后将用户输入的字符串将某个指定文件的指定行数的一行信息给修改掉,急.

------解决方案--------------------

#include

#include

void InsertLine(char* FileName,int L,char str[256])

{

int Lid=0;

int MaxLine=0;

FILE* fp=NULL;

char Buf[256]= " ";

char tmp[50][256]={0};

//char str[256]= "Good China\n ";

if( (fp=fopen(FileName, "r+ "))==NULL)

{

printf( "Can 't open file!\n ");

return;

}

while( fgets(Buf,256,fp) )

{

Lid++;

if(Lid==L)

strcpy(tmp[Lid++],str);

strcpy(tmp[Lid],Buf);

}

MaxLine=Lid;

rewind(fp);

for(Lid=1;Lid <=MaxLine;Lid++)

fputs(tmp[Lid],fp);

fclose(fp);

}

void cat(char *filepath)

{

int nl = 0;

FILE *stream;

char s[256];

char *p = s;

stream = fopen(filepath, "r+ ");

while((p = fgets(s, 256, stream)) != NULL)

{

nl++;

printf( "Line %d: %s ", nl, s);

}

fclose(stream);

}

void deleteLine(char* FileName,int lineno)

{

int Lid=0;

int MaxLine=0;

FILE* fp=NULL;

char Buf[256]= " ";

char tmp[20][256]={0};

char *p = Buf;

// char str[256]= "Good China\n ";

if( (fp=fopen(FileName, "r+ "))==NULL)

{

printf( "Can 't open file!\n ");

return;

}

while((p=fgets(Buf,256,fp))!=NULL)

{

Lid++;

if(Lid==lineno)

{

if((p=fgets(Buf,256,fp))!=NULL) // 原文多了个分号

{

strcpy(tmp[Lid],Buf);

}

}

else

strcpy(tmp[Lid],Buf);

}

MaxLine=Lid;

rewind(fp);

fclose(fp);

remove(FileName); // 删除原文件

if( (fp=fopen(FileName, "w "))==NULL)

{

printf( "Can 't open file!\n ");

return;

}

for(Lid=1;Lid <=MaxLine;Lid++) // 多写一行

fputs(tmp[Lid],fp);

fclose(fp);

}

int main()

{

cat( "1.txt ");

printf( "\n......................................................\n ");

InsertLine( "1.txt ",3, "7777\n ");

cat( "1.txt ");

printf( "\n......................................................\n ");

deleteLine( "1.txt ",3);

printf( "\n......................................................\n ");

cat( "1.txt ");

return 0;

}

------解决方案--------------------

就要可以在C:\hello.c文件的第7行,写入一个数字串可以吗

============================

char num_string[10]={0}, tmp;

int line=1;

FILE *fp;

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值