C++ 将一个文件读入数组再读出数组的方法

如下所示:

<pre name="code" class="cpp">#include<iostream>
#include<fstream>
using namespace std;
#define MAX_PACK_SIZE 10240
void main()
{
 char filePath[256];
 strcpy(filePath,"F:/视频/1.mp4");  //获取路径
 FILE *pFile;
 pFile=fopen(filePath,"r+b");
	if(pFile==NULL)
	{
		cout<<"打开文件失败"<<endl;
		return ;
	}
 fseek(pFile,0,SEEK_END);
 // long nLength=ftell(pFile); //获取文件长度(字节数)
	_int64 nLength=_ftelli64(pFile); //获取的长度最大为2的64次方-1个字节
	cout<<"文件长度为:"<<nLength<<endl;
	if(nLength==-1)  //读取出错
	{
		return;
	}
 char buff[MAX_PACK_SIZE+1];  //用于存放文件部分数据
	char filePath1[256];
	strcpy(filePath1,"E:/图片/Saved Pictures/8.mp4");
	FILE *File;
	File=fopen(filePath1,"a+b"); //打开文件以append和读的方式进行,如果不存在文件则创建
	fseek(pFile,0,SEEK_SET);  //定位到开始位置
 for(_int64 i=0;i+MAX_PACK_SIZE+1<nLength;i+=MAX_PACK_SIZE)
	{
		if(i+MAX_PACK_SIZE+1<nLength)
		{
   fread(buff,sizeof(char),MAX_PACK_SIZE,pFile); //从文件当前定位的位置开始读取MAX_PACK_SIZE个字节
		 fseek(pFile,0,SEEK_CUR);  //定位到上一步定位的位置加MAX_PACK_SIZE的位置
		 fwrite(buff,sizeof(char),MAX_PACK_SIZE,File); //将buff中的数据添加到File中
		}
		else
		{
			fread(buff,sizeof(char),nLength-i,pFile);
			fseek(pFile,0,SEEK_CUR);
			fwrite(buff,sizeof(char),nLength-i,File);
		}
	}
	fclose(pFile);  //关闭文件
	fclose(File);
} 

以上这篇C++ 将一个文件读入数组再读出数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C++从文本文件读取数据到vector中的方法

    前言 大家应该都只奥vector(向量)是 C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.这篇文章介绍的是C++从文本文件读取数据到vector中的方法,下面话不多说,直接来看示例代码吧. 如题,要将如下文本文件读进vector中 示例代码如下 #include <iostream> using namespace std; #include <cmath> #include

  • c++读取数据文件到数组的实例

    在刷题过程中,遇到的读取文件问题,只是记录自己的问题,新手~ 如果在一个txt文件当中有以下数据 1 2 3 4 5 6 7 8 9 10 1.如果我们只是简单将这些数据保存在一个数组中: #include <iostream> #include <fstream> using namespace std; int main() { int i,datalen=0; double num[100]; ifstream file("data.txt"); whil

  • C++将txt文件内容保存到数组的方法

    代码如下: #include<iostream> #include<fstream> //必要头文件 using namespace std; int main() { int a[9][9]; fstream in("E://C//LQB_04data.txt"); //""中是txt文件路径,注意:路径要用//隔开 cin.rdbuf(in.rdbuf()); //将输入信息从控制台转向txt文件 for(int i=0;i<9;i

  • C++从txt文件中读取二维的数组方法

    此文章用来做笔记, 从MATLAB中保存的二维数组1500*2的数据到txt文件中,格式化保存方式如下: MATLAB代码: fid=fopen('data.txt','wt'); for i=1:1500 fprintf(fid,'%.3f\t%.3f\n',r(i,:)); end fclose(fid); 其中r是1500*2的矩阵 在C++中读取到程序中,使用文件流: #include<iostream> #include<fstream> #include<type

  • C++ 将一个文件读入数组再读出数组的方法

    如下所示: <pre name="code" class="cpp">#include<iostream> #include<fstream> using namespace std; #define MAX_PACK_SIZE 10240 void main() { char filePath[256]; strcpy(filePath,"F:/视频/1.mp4"); //获取路径 FILE *pFile;

  • python3.6 如何将list存入txt后再读出list的方法

    今天遇到一个需求,就是将一个list文件读取后,存入一个txt配置文件.存入时,发现list文件无法直接存入,必须转为str模式. 但在读取txt时,就无法恢复成list类型来读取了(准确地说,即使强行使用list读取,读出来的也是单个的字符). 查了查资料,发现json.loads和json.dumps这对兄弟提供了一个很好的办法.下面看代码 #python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'BH8AN

  • C语言从txt文件中逐行读入数据存到数组中的实现方法

    首先,要知道数据的存储格式是怎样的, 65 2 722 542 691 514 644 506 588 524 565 558 608 580 648 586 696 572 482 564 第一行表示数字的个数和维数,所以要先读入这些信息: <span style="white-space:pre"> </span>FILE *fp = fopen("2D_Jesscia_keypos.txt", "r"); if (

  • 文件缓存(配合JSON数组)

    1.   写入缓存:建立文件夹,把list集合里面的数组转换为JSON数组,存入文件夹 2.   读取缓存:把JSON数组从文件夹里面读取出来,然后放入list集合,返回list集合 private final static File filefolder=new File("/sdcard/myData"); private final static File filename=new File("/sdcard/myData/tem.txt"); public

  • java 将一个数组逆序输出的方法

    题目: 将一个数组逆序输出. 代码: import java.util.*; public class lianxi31 { public static void main(String[] args) { Scanner s = new Scanner(System.in); int a[] = new int[20]; System.out.println("请输入多个正整数(输入-1表示结束):"); int i=0,j; do{ a[i]=s.nextInt(); i++; }

  • python实现将一个数组逆序输出的方法

    方法一: def printTheReverseArray(self): list_1 = [1, 2, 3, 4, 5, 6, 7] length = len(list_1) for i in range(0, length): print(length - i,end="") 方法二: def printTheReverseArray(self): '头插法' list_1 = [1, 2, 3, 4, 5, 6, 7] list_2 = [list_1[0]]# for i in

  • Python打开文件,将list、numpy数组内容写入txt文件中的方法

    python保存numpy数据: numpy.savetxt("result.txt", numpy_data); 保存list数据: file=open('data.txt','w') file.write(str(list_data)); file.close() 以上这篇Python打开文件,将list.numpy数组内容写入txt文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 如何将文件流转换成byte[]数组

    目录 将文件流转换成byte[]数组 将文件转为byte[],通过ByteArrayOutputStream实现 通过文件路径转换byte[] 将bitmap对象 将文件流转换成byte[]数组 InputStream is = new FileInputStream(new File("D://a.txt")); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] bytes = new b

  • Numpy数组的保存与读取方法

    1. 数组以二进制格式保存 np.save和np.load是读写磁盘数组数据的两个主要函数.默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,以数组a为例 np.save("filename.npy",a) b = np.load("filename.npy") 利用这种方法,保存文件的后缀名字一定会被置为.npy 2. 存取文本文件 使用 np.savetxt 和 np.loadtxt 只能读写 1 维和 2 维的数组 np.savetxt:将

  • Java数组操作的10大方法

    1.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

随机推荐