C语言怎改变文件外存地址里的数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎改变文件外存地址里的数字?相关的知识,希望对你有一定的参考价值。
把文件读出来,在内存中把数字改了。
把原文件删除。
重新写进硬盘。
这是更改硬盘文件的一种方法。
如果你是问外存地址怎么改。那是改不了的。因为文件的读写是编译器通过调用操作系统的api来完成的。追问
嗯嗯,具体要用什么关键词呢?怎么用?
追答首先要 fopen 打开文件流:FILE * filePoint = fopen("filename", "r");其中filename为文件名。r的意思是只读。
然后用fread或者fwrite把文件读进内存。
把要改的数字改了。
此时文件内容已经全部在内存中了。
再:关闭文件流。
再:FILE * filePoint = fopen("filename", "w");
把文件再写回去。
最后也要关闭文件流。
不知道你问的是不是这个意思?
建议你找一本书来系统地看一下文件部分。
可能你的意思是,怎么改变文件的存储路径。是不是这样?
如果是,那就复制可以了
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语言怎改变文件外存地址里的数字?的主要内容,如果未能解决你的问题,请参考以下文章