C语言怎改变文件外存地址里的数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎改变文件外存地址里的数字?相关的知识,希望对你有一定的参考价值。

把文件读出来,
在内存中把数字改了。
把原文件删除。
重新写进硬盘。
这是更改硬盘文件的一种方法。
如果你是问外存地址怎么改。那是改不了的。因为文件的读写是编译器通过调用操作系统的api来完成的。追问

嗯嗯,具体要用什么关键词呢?怎么用?

追答

首先要 fopen 打开文件流:FILE * filePoint = fopen("filename", "r");其中filename为文件名。r的意思是只读。
然后用fread或者fwrite把文件读进内存。
把要改的数字改了。
此时文件内容已经全部在内存中了。
再:关闭文件流。
再:FILE * filePoint = fopen("filename", "w");
把文件再写回去。
最后也要关闭文件流。
不知道你问的是不是这个意思?
建议你找一本书来系统地看一下文件部分。

可能你的意思是,怎么改变文件的存储路径。是不是这样?
如果是,那就复制可以了

参考技术A 1.read
2.lseek
3.write追问

能具体说说用法吗?

追答

读取文件,设置偏移位置,写入文件。

追问

比方说有个1.txt的文件在F盘下,怎么调用,才能修改1.txt的外存地址呢?

追答

不太明白你的意思,你是要把文件在硬盘里移动吗?还是更改文件的数据?

追问

更改文件的数据

C语言怎样将数字从文件里逐个读取出来

文件里是这样的数字,怎样逐个读取出来并相加

可以通过fscanf,从文件中依次读取数据。
当fscanf返回EOF时,表示读到文件结尾,这时停止读取即可。
以文件中存储的为空格分隔的整型字符为例,可以写作:
while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。
printf("%d ", n);
参考技术A 读取想要的数据要根据文本内容具体来实现,要是你图中的格式的话就简单了,只需要一行一行的读就可以了,每读一行进行一次数据转换,要是每行中有不同的数据,就要进行一些分析,不需要的直接就不用管 参考技术B #include <stdio.h>
void main()

FILE *fp=fopen("data.txt","r");
int sum=0,x=0;
while( fscanf(fp,"%d", &x ) ==1 )

sum += x ;

fclose(fp);
printf("sum=%d\n", sum );
本回答被提问者采纳

以上是关于C语言怎改变文件外存地址里的数字?的主要内容,如果未能解决你的问题,请参考以下文章

求助~C语言怎麼把下面两句的值存到excel的指定单元格里?

用C语言去取一个给定地址里的值

c语言工程里其它文件引用全局变量?

C语言里, 一个函数怎调用,另一个函数的变量(不用返回)

C语言怎么做到从文件中读取一行数据,然后改变这一行内容

C语言 DrawDibDraw函数怎用?