❶ c语言如何读写大型的txt文件
给点建议:
(1)数据量很大时,数组要声明为全局量,例如:
#include<stdio.h>
char s[4000001][20];
main(){
strcpy(s[4000000],"12345678");
printf("%s",s[4000000]);
}
否则,stack 会溢出
--------
(2) 两列数据,跳一列,读一列格式:
i=0;
while(1){
if ( fscanf(fp,"%*s %s",s[i]) != 1) break;
i++;
};
printf("I read %d values\n",i);
-------------
(3) 为加速处理,可以用把 pass 分成 第一个字符 s[i][0] 是 数字 1,2,3,。。字母 a,b,..z 字母 A,B..Z
共62 组 ,分组处理。统计。
char target[]="......Z";
每读1组, 用 rewind(fp); 回到文件头,再读
i++; 改用 if (s[i][0]==target[j]) i++;
for (j=0;j<62;j++){
i = 0;
while(1){
if ( fscanf(fp,"%*s %s",s[i]) == EOF) break;
if (s[i][0]==target[j]) i++;
};
printf("I read %d values\n",i);
// 处理
};
❷ 用C语言怎么保存文件
fopen();代开文件,如果文件不存在则会自动创建,要想保存文件,要包文件打开时的权限设置为“R”,即可写的。
fwrite();写入数据
fclose();关闭!
❸ C语言如何写超过2G大小的文件
将 =top#源反编译 重复翻倍 直到超过1G然后再反编译翻倍 2G以上就有了
❹ 怎么保存大文件
建议上传到网盘上去..RP,或纳米机器人之类的都管用.
❺ C语言高速读大文件、写大文件的方式
写文件一般是追加快些
如果你要输出例如XML。
还有,每个进程应该有4G,靠操作系统内版存管理+页面文件权维持、
还有,开个几百M的数组不划算、用malloc+free快些,可以动态的,不让操作系统在加载时就开辟几百M,而是陆续的开——除非你在写汇编程序——汇编向OS申请内存很费劲,要 SYSCALL
❻ C语言怎么实现大文件分块写入内存
可以用这种理念:定义一个数组比如长度为100 用这个数组装从大文件读出来的数据 用循环来读和往内存里写数据 等到哪次这个数组的内容不满100的时就是这个大文件读完的时候,利用这一条件可跳出循环结束写操作