C语言对txt文件中某一行的某几个字符修改 和 fgets()在vs2013如何用
C语言对txt文件中某一行的某几个字符修改 和 fgets()在vs2013怎么用
本人c语言刚入门,诚心请教各位大神帮帮忙!
我遇到的问题是,
怎样用C语言实现txt文件中某一行的某几个字符修改,
比如
文件内容是
ABCD#1234*1
EFGH#5678*2
IJKL#9876*3
现在读取到
第一行的 ‘ # ’,
根据用户的输入判断后,我要把第一行中的‘1234’,修改成 ‘5678’,
有什么简单的方法?如果有,说说思路,和要用到的相关函数既可,不用详细代码,
还有就是,fgets()在vs2013怎么用?我能编译通过,但是一运行,就会被终止!
如果你们试了不会被终止,那就把你们的代码简单的写出来,我自己比对比对。
------解决思路----------------------
把文件读入内存
对内存进行操作
将操作结果写会文件
基本上以下函数应该要会用
fopen
fread/fscanf
fwrite/fprintf
fclose
字符串相关的函数要会用
指针操作要会
------解决思路----------------------
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。
------解决思路----------------------
------解决思路----------------------
推荐一个博客可以参考一下http://blog.****.net/mg0832058/article/details/5890688
本人c语言刚入门,诚心请教各位大神帮帮忙!
我遇到的问题是,
怎样用C语言实现txt文件中某一行的某几个字符修改,
比如
文件内容是
ABCD#1234*1
EFGH#5678*2
IJKL#9876*3
现在读取到
第一行的 ‘ # ’,
根据用户的输入判断后,我要把第一行中的‘1234’,修改成 ‘5678’,
有什么简单的方法?如果有,说说思路,和要用到的相关函数既可,不用详细代码,
还有就是,fgets()在vs2013怎么用?我能编译通过,但是一运行,就会被终止!
如果你们试了不会被终止,那就把你们的代码简单的写出来,我自己比对比对。
------解决思路----------------------
把文件读入内存
对内存进行操作
将操作结果写会文件
基本上以下函数应该要会用
fopen
fread/fscanf
fwrite/fprintf
fclose
字符串相关的函数要会用
指针操作要会
------解决思路----------------------
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。
------解决思路----------------------
int main(void)
{
FILE *f1, *f2;
f1 = fopen("1.txt", "r");
f2 = fopen("2.txt", "w");
char buf[256];
char *p;
while (1)
{
if (NULL == fgets(buf, 255, f1)) break;
if (p = strstr(buf, "1234"))
{
memmove(p + strlen("5678"), p + strlen("1234"), strlen(p + strlen("1234")) + 1);
strncpy(p, "5678", strlen("5678"));
}
fprintf(f2, "%s", buf);
}
_fcloseall();
return 0;
}
------解决思路----------------------
推荐一个博客可以参考一下http://blog.****.net/mg0832058/article/details/5890688