c++如何读写大型数组?

作者&投稿:饶发 (若有异议请与网页底部的电邮联系)
c++ 把大型数组写入文件失败~

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章,可以找本教材进一步学习。
2、例程:

#include
int i,a[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//从输入文件连续读取整数到数组a
for(;i--;)fscanf(fp2,"%d ",a[i]);//把数组a逆序写入到输出文件当中
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}

如果是32位系统的话,你的数组长度已经超出了32位系统寻址的能力(4G)。
编译成64位格式就没有这个问题,但是你需要一个64位系统以及足够的内存(28.8GB)来运行它。

你既然可以直接获取value各层的大小,就可以使用vector::resize函数事先对整个数组进行初始化,这样可以节省很多时间。
另外,我没用过那个json类,那个value变量难道不是已经读完了的数据内容吗?


怎样正确读写数学读数与写数的方法?
一年级数学读作和写作的区分如下:1、定义不同。读作是用中文字按读的方法写出来。写作是用阿拉伯数字把数写出来。2、具体数字不同。读数时,从高位读起,数中间的0要读出来,数末尾的0不读。写数时,从高位起,一级一级往下写,哪个数位上一个单位也没有,就在那个数位上写0。如:30500644500...

万以内数的读写方法和千以内的读写方法一样吗
二、写法 1、从高位起,按照数位顺序,一级一级地往下写。亿级的数有三级,要先写亿级,再写万级,最后写个级;万级的数只有两级,要先写万级,再写个级。哪一位上数字是几就写几。2、哪个数位上没有数,就在那个数位上写0占位。三、万以内数的读写的教学是在学生学习了千以内数的读写...

读数和写数都从什么起
需要注意的是:读写数由高到低,逐级读取,每级末尾的零不读出,其余数字连续几个零只能读出一个零;整数的书写:从高位到低位,逐级书写。如果任何数字都没有单位,就在那个数字上写0。读写数都是从高位开始,按数字顺序读写。多位数比较大小。如果位数不同,多位数的数就大,少位数的数就小。读...

万级连续四个零的数怎么读?
引入一个大数读零的话题今天,我们就结合四年级上册最近的《大数的认识》单元来聊一个话题:大数的读写——万级上都是零的数怎么读?这个内容在北师大版也在四上,第一单元《认识更大的数》。苏教版则在四年级下册,第二单元《认识多位数》。读数是数学学习中很基本的事,在幼儿园、一二年级,都...

读数是如何分级的?
我们在读数时,先读亿级,再读万级,最后读个级,读万级或亿级时,要按照个级的读法来读,再在后面加一个万或亿字,每级末尾的零都不读,每级中间有一个零或连续几个零都只读一个零。中国习惯使用十进制读数法,并采用四位分级的法则,即从个位起,每四个计数单位作为一级。十进制读数法:1...

怎么读写数字?
3、在数学作业中,数字读作的意思是要将这个数字的读法用汉字的方式来写出来,写作的意思是将要读出的数字用阿拉伯数字表示出来。4、读数从高位到低位:一级一级地读,每一级末尾的0都不读出来,其余数位连续几个0都只读一个零。5、整数的写法:从高位到低位,一级一级地写,哪一个数位上一个...

含有万级数的读写方法有什么好的方法教学生?
万级数的部分和普通的读法类似,只要在最后加万为单位就行,例如15210000读作一千五百二十一万,如1521读作一千五百二十一

如何读好数字?
104,第二步接下去写第三组020,第三步二写423,这样得到的完整数字便是1,104,020,423,由此:见这个三位一逗号的作用有多大。只要我们在平时的训练中加强对三位数读写的训练,能分辨“ty”与“teen\\'’,并能借助这个不可缺少的“逗号”,无论数字多么大,也不会对我们造成障碍。

小学数学之数的读写方法
3. 小数的读法 :读小数的时候,整数部分按照整数的读法读,小数点读作“点”,小数部分从左向右顺次读出每一位数位上的数字。 4. 小数的写法 :写小数的时候,整数部分按照整数的写法来写,小数点写在个位右下角,小数部分顺次写出每一个数位上的数字。 5. 分数的读法 :读分数时,先读分母再读“分之”然后读分...

读写数时怎样读和写整数呢?
“103000”读作十万三千 “100300”读作十万零三百 1、按照数的横列自右至左,以四位为一级或三位为一节,然后从左至右读数,称其为分级读数法或分节读数法,统称繁读法,这种读法一般用于读十进整数。2、按照数的横列自左至右把各个数字依次读出来,如3045002读作三零四五零零二,这种读法在读纯...

峨边彝族自治县15618666210: c++中怎么输入一个很大的数 -
张雄活爽: 这个题我在考程序员资格证时遇到过,让我设计程序完成大整数的加减运算,大概思路是定义一个字符型数组,比如char array[100],然后数据以字符的方式输入,然后将每一个数组单元里的字符转换成整形(因为被分断,所以很小了),最后将每一个数组内的元素进行运算,同时还要考虑进位、退位的情况.基本思路就这样

峨边彝族自治县15618666210: C++中如何读入多组多行多列数据? -
张雄活爽: C/C++ 数组元素排列应当是 a[行][列], 元素顺序:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]. 程序里用正确的排列,未按你说的顺序:“第二个下标对应的是行数” #include <fstream> #include <iostream> using namespace std...

峨边彝族自治县15618666210: c++中如何将一个未知大小的数组读入,并将其存在一个3列,行数不定的二维数组中??程序该怎么写?? -
张雄活爽: }*/malloc.h>i < while(cin> p[i] = a; i++; } n = i; void main() { int *p; //,(i+1)*sizeof(int)); p = q .h>#include <i++) { array[i/,应该是先解决未知一维数组吧; cout< ";a) //i++) { cout<&lt,*q,a,i=0,j,m,n; p = new int;i<m;i++) { for(j=0;j<<"3][i%3] = p[i]; } for(i = 0...

峨边彝族自治县15618666210: C++中怎么从文件读入字符数组 -
张雄活爽: 一般情况下是一行一行读的 用ifstream函数 比方说 #include <iostream> #include <fstream> using namespace std; #define COL_WIDTH 80 int main (){ char input_line[COL_WIDTH+1]; ifstream file_in("你的读入文件地址“); file_in.getline(input_line,COL_WIDTH+1); cout<<iput_line; system("Pause"); return 0;

峨边彝族自治县15618666210: c++ 怎么读取文件并且存入数组 -
张雄活爽: 如果文件不大,可以先将一次性将文件读入内存,然后利用strtok() 函数以换行符(\n)分割每行, 然后在利用strtok() 函数以逗号分割,逐一填充到数组.如果文件比较大, 可以通过逐字节读取文件到行缓存,遇到换行符(\n)后,利用strtok() 以逗号分解行缓存到数组,然后循环至文件读取结束

峨边彝族自治县15618666210: c++怎么输入,输出整型数组,比如说五个数的,, -
张雄活爽: int a[5]; for (int i = 0; i < 5; ++i)std::cin>>a[i]; for (int i = 0; i < 5; ++i)std::cout<

峨边彝族自治县15618666210: C++如何从文件中读取对象数组 -
张雄活爽: 这是我自己写的一个学生信息管理系统里的两个功能函数,分别实现数据的保存和读取的 你可以参考下 int Save(struct StuNode *Nodes[]) //保存功能 { FILE *fp; struct StuInfo *pstu = NULL; int i = 0; if((fp = fopen("Save.ms","wb")) == NULL) { ...

峨边彝族自治县15618666210: C++中如何从文件中读取数据给整形数组数据 -
张雄活爽: #include "stdafx.h" #include#include #include using namespace std; int main() { char filename[20]; int a[3][3]; //存储整数 cin >> filename; ifstream ifile(filename,ios_base::in); if(ifile) //文件打开成功 { for(int i=0;i<8;i++) //读入八个整数 ifile>>a[i/3]...

峨边彝族自治县15618666210: C++如何在函数之间传递大型数组 -
张雄活爽: 如果想用vector的话,直接传一个vector的引用,然后再函数内写这个vector就好了,也不用返回:1 2 3 4voidf(vector<int>& output) {output.push_back(0);output.push_back(1); } 这种方式是最简单的,这个函数内不涉及内存分配,可以完全由外面控制,也没有右值引用之类的复杂概念.

峨边彝族自治县15618666210: C++ 如何将输入的数读入数组 -
张雄活爽: 写了个程序 实现的你的要求 你可以拿去看下^_^/*********************************************** 思路: 1.首先用一个字符数组存储用户所输入的所有数据 (包括空格) 2.再从这个数组中将数据提取出来存放到数组array中存在问题. 这个程序还未写完...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网