c程序中怎么向文本文件中删除某个字符

例如文本文件中有这样一行字符assdkjhdfjjdjhajfor(i=0;i<20;++i)fputc('\b',q);这样写为什么不可以把字符删除掉!... 例如文本文件中有这样一行字符 assdkjhdfjjdjhaj
for(i=0;i<20;++i)
fputc('\b',q);
这样写为什么不可以把字符删除掉!
展开
 我来答
MyBrand
2013-12-03 · 超过17用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:30.1万
展开全部
没有删除字符的函数,一般方法就是通过写覆盖的方式,或者干脆重新写一个文件,再把文件重命名。
写覆盖的方式,需要用fseek函数来修改当前文件句柄的指针所指的位置,在进行写操作就可以将内容覆盖,达到删除的效果。
FILE *fp;
fp = fopen("a.txt", "r+");
fseek(fp, SEEK_SET, 3); //从文件开头,偏移3个字节
fputc('a', fp); //将第三个字节替换为'a'
syw天真
2013-12-03
知道答主
回答量:17
采纳率:0%
帮助的人:6.5万
展开全部

函数名称:写字符文件函数fputc()  
函数功能: 将字符ch写到文件指针fp所指向的文件的当前写指针的位置。  
函数格式:int fputc (char ch, File *fp)  
参数解释:fp为文件指针,它的值是执行fopen()打开文件时获得的。  
                 ch为字符变量,其值即为所要写进文件的字符。  
                 虽然函数被定义为整形数,但仅用其低八位。  
返回值:在正常调用情况下,函数返回读取字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字符或一个字节的数据后,文件内部写指针会自动后移一个字节的位置。EOF是在头文件 stdio.h中定义的宏。

给你说说思路吧
1 首先打开文本使用fopen函数
fp为文件指针,它的值是执行fopen()打开文件时获得的。
2 打开以后 在写入你的字符比如你:assdkjhdfjjdjhaj 使用int fputc (char ch, File *fp)  
函数
3 c语言中 我没见过有删除字符函数,这个删除字符就要你自己去写方法实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式