首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在c++中将整数(每行两个)从文本文件读取到不同的数组中

在C++中,我们可以使用文件流(fstream)来读取文本文件中的整数,并将它们存储到不同的数组中。下面是一个示例代码,演示了如何实现这一过程:

代码语言:txt
复制
#include <iostream>
#include <fstream>
#include <vector>

int main() {
    std::ifstream inputFile("data.txt"); // 打开输入文件
    if (!inputFile.is_open()) {
        std::cout << "无法打开文件!" << std::endl;
        return 1;
    }

    std::vector<int> array1; // 存储第一列整数的数组
    std::vector<int> array2; // 存储第二列整数的数组

    int num1, num2;
    while (inputFile >> num1 >> num2) {
        array1.push_back(num1);
        array2.push_back(num2);
    }

    inputFile.close(); // 关闭输入文件

    // 打印读取结果
    std::cout << "第一列整数数组:" << std::endl;
    for (int i = 0; i < array1.size(); i++) {
        std::cout << array1[i] << " ";
    }
    std::cout << std::endl;

    std::cout << "第二列整数数组:" << std::endl;
    for (int i = 0; i < array2.size(); i++) {
        std::cout << array2[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

上述代码中,假设要读取的整数数据保存在名为 "data.txt" 的文本文件中。首先,我们使用 ifstream 类来创建一个输入文件流对象 inputFile,并使用 is_open() 函数检查文件是否成功打开。然后,我们创建两个 vector 容器 array1array2,用于存储两列整数数据。

接下来,在一个循环中,我们使用 >> 运算符从文件中依次读取两个整数,并将它们分别存储到 num1num2 变量中。然后,使用 push_back() 函数将两个整数分别添加到 array1array2 中。

最后,我们使用 close() 函数关闭输入文件流,释放资源。然后,通过遍历 array1array2,打印读取到的整数数据。

需要注意的是,该示例代码假设文件中的数据是按照每行两个整数的格式排列。如果文件中的整数数据排列方式不同,需要相应调整代码进行解析。

以上是在C++中将整数从文本文件读取到不同的数组中的方法。希望能对你有所帮助!如果有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

f stream_fstream

大家好,又见面了,我是你们朋友全栈君 ofstream是内存到硬盘,ifstream是硬盘到内存,其实所谓流缓冲就是内存空间; 在C++,有一个stream这个类,所有的I/O都以这个“流...file2.get(x);表示文件读取一个字符,并把读取字符保存在x。   ...; 五、文件定位   和C文件操作方式不同是,C++ I/O系统管理两个与一个文件相联系指针。一个是指针,它说明输入操作在文件位置;另一个是写指针,它下次写操作位置。...每次执行输入或输出时,相应指针自动变化。所以,C++文件定位分为位置和写位置定位,对应成员函数是seekg()和seekp()。seekg()是设置位置,seekp是设置写位置。...ios::beg:  文件开头 ios::cur:  文件当前位置 ios::end:  文件结尾   这两个函数一般用于二进制文件,因为文本文件会因为系统对字符解释而可能与预想不同

48030
  • Matlabfprintf函数使用

    目录 说明 示例 输出字面文本和数组值 将双精度值输出为整数 将表格数据写入文本文件 获取写入文件字节数 在命令行窗口中显示超链接 ---- fprintf函数将数据写入文本文件。...%4.2f 指定输出每行第一个值为浮点数,字段宽度为四位数,包括小数点后两位数。...formatSpec 输入 %8.3f 指定输出每行第二个值为浮点数,字段宽度为八位数,包括小数点后三位数。\n 为新起一行控制字符。...使用语法 n$,其中n代表函数调用其他输入参数位置。 注意:如果输入参数为数组,则不能使用标识符指定该输入参数特定数组元素。 标志 '–' 左对齐。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    4.4K60

    JNI基础

    刷新工程,就能看到多出了两个文件夹 在java中将要调用c代码加载到java虚拟机,通过静态代码块方式 public class DemoActivity extends Activity {...c语言 就是java在方法传值,然后c通过参数得到数据处理后返回和上面的一样 将c字符串数组转成javastring用到jni.h一个方法 jstring (*NewStringUTF...C++与C代码不同 C++文件后缀是cpp C++与C不同就是C++提供了模板、继承、抽象等 //将java字符串转成C++字符串工具方法 char* Jstring2CStr...//nitems 多少次 //stream 哪个文件里面 char* buffer = malloc(sizeof(char)*12); int len= fread(...,只允许写数据 “ab” 追加打开一个二进制文件,并在文件末尾写数据 “rt+” 读写打开一个文本文件,允许和写 “wt+” 读写打开或建立一个文本文件,允许读写 “at+” 读写打开一个文本文件,允许

    1.3K100

    fscanf

    _)说明示例A = fscanf(fileID,formatSpec) 将打开文本文件数据读取到列向量 A ,并根据 formatSpec 指定格式解释文件值。...sizeA 必须为正整数或采用 [m n] 形式,其中 m 和 n 为正整数。示例[A,count] = fscanf(___) 还将返回 fscanf 读取到 A 字段数。...对于数值数据,这是已读取值数。您可以将此语法与前面语法任何输入参数结合使用。示例全部折叠将文件内容读取到列向量View MATLAB Command创建一个包含浮点数示例文本文件。...fclose(fileID);将文件内容读取到数组View MATLAB Command创建一个包含整数和浮点数示例文本文件。...sizeA - 输出数组维度Inf (默认) | 整数 | 二元素行向量输出数组 A 维度,指定为 Inf、整数或一个二元素行向量。sizeA 输入格式说明Inf读取到文件末尾。

    3.4K40

    快速上手打通javaIO流

    /写文件,网络通讯等。 Java程序,对于数据输入/输出操作以“流(stream)” 方式进行。...如果因为已经到达流末尾而没有可用字节,则返回值 -1。 int read(byte[] b) 从此输入流中将最多 b.length 个字节数据读入一个 byte 数组。...存到数组cbufoff处开始存储,最多len个字符。如果已到达流末尾,则返回 -1。否则返回本次读取字符数。...要写入字符包含在给定整数 16 个低位,16 高位被忽略。 即写入0 到 65535 之间Unicode码。 void write(char[] cbuf) 写入字符数组。...(8Kb),存在缓冲区,直到缓冲区装满了,才重新文件读取下一个8192个字节数组

    19430

    fstream用法

    input.get(x);表示文件读取一个字符,并把读取字符保存在x。...另一种重载形式原型是: int get();这种形式是返回一个字符,如果到达文件尾,返回EOF,x=input.get();和上例功能是一样。...文件定位 和C文件操作方式不同是,C++ I/O系统管理两个与一个文件相联系指针。一个是指针,它说明输入操作在文件位置;另一个是写指针,它下次写操作位置。...每次执行输入或输出时,相应指针自动变化。所以,C++文件定位分为位置和写位置定位,对应成员函数是seekg()和seekp()。seekg()是设置位置, seekp是设置写位置。...文件开头 ios::cur:  文件当前位置 ios::end:  文件结尾 这两个函数一般用于二进制文件,因为文本文件会因为系统对字符解释而可能与预想不同

    86420

    浅析javaIO原理过程

    是指源节点到目标节点数据流动 源节点和目标节点可以是文件、网络、内存、键盘、显示器等等。 java.io包下提供了各种“流”类和接口,用以获取不同种类数据,并通过标准方法输入或输出数据。...输出output:将程序(内存)数据输出到磁盘、光盘等存储设备 按操作数据单位不同分为:字节流(8 bit),字符流(16 bit) 按数据流流向不同分为:输入流,输出流 字节流 字符流 输入流...40多个类,实际上非常规则,都是如下4个抽象基类派生。...} catch (IOException e) { e.printStackTrace(); } } } } 在Windows系统文本文件每行结尾都有两个不可见特殊字符表示该行结束...这两个字符为符(Unicode码为13)和符(Unicode码10 )称为-序列。 在Unix系统文本文件每行结尾只有符。

    40330

    Java IO流笔记

    Java IO流 IO是Input/Output缩写,I/O技术是非常实用技术,用于处理设备之间数据传输。/写文件,网络通讯等。...int read(byte[] b) 从此输入流中将最多b.length个字节数据读入一个byte数组。如果因为已经到达流末尾而没有可用字节,则返回值-1.否则以整数形式返回实际读取字节数。...存到数组cbufoff处开始存储,最多len个字符。如果已到达流末尾,则返回-1。否则返回本次读取字符数。...节点流(文件流) 文件输入 FileReader 文件取到内存(程序) 步骤: 建立一个流对象,将已存在一个文件加载进流 FileReader fr = new FileReader(new...练习 键盘输入字符串,要求将读取到整行字符串转成大写输出。然后继续进行输入操作, 直至当输入“e”或者“exit”时,退出程序。

    92120

    java学习笔记(基础篇)—IO流

    反序列化:将文件或者网络中将对象读取到程序过程。 进行序列化或者反序列化类必须实现Serializable接口。...如果遇到输入流结尾,则返回-1; b)int read(byte[] b): 输入流读取若干个字节,把它们保存到参数b指定字节数组。返回整数表示读取字节数。...返回整数表示读取字节数。参数off指定在字节数组开始保存数据起始下标,参数len指定读取字节数目。返回整数表示实现读取字节数。...在从文件或键盘读数据时,采用后面两个read方法可以减少进行物理文件或键盘次数,因此能提高I/O操作效率。...参数off指定字节数组起始下标,从这个位置开始输出由参数len指定数目的字节; 以上第一个write方法输出流写入一个字节,而其余两个write方法输出流批量写出若干字节。

    82610

    java学习笔记(基础篇)—IO流

    一:流概念 在Java,把一组有序数据序列称为流。 a.txt文件拷贝到b.txt。 在Java中流是使用统一方式操作输入和输出数据。 文件读取,键盘读取,网络读取......序列化:将对象保存到文件或者传输到网络过程。 反序列化:将文件或者网络中将对象读取到程序过程。 进行序列化或者反序列化类必须实现Serializable接口。...如果遇到输入流结尾,则返回-1; b)int read(byte[] b): 输入流读取若干个字节,把它们保存到参数b指定字节数组。返回整数表示读取字节数。...返回整数表示读取字节数。参数off指定在字节数组开始保存数据起始下标,参数len指定读取字节数目。返回整数表示实现读取字节数。...在从文件或键盘读数据时,采用后面两个read方法可以减少进行物理文件或键盘次数,因此能提高I/O操作效率。

    94910

    C语言重点突破(六)文件操作

    这些文件可以在不同编程语言中编写,C++、Java、Python等。包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境,后缀为.exe)。...每个被使用文件都在内存开辟了一个相应文件信息区,用来存放文件相关信息(文件 字,文件状态及文件当前位置等)。这些信息是保存在一个结构体变量。...顺序读取:文件开头开始依次读取每个字节或块,直到读取到文件末尾。这种读取方式适用于文件内容是按照特定顺序排列情况,比如文本文件和数据文件。...如有整数10000,如果以ASCII码形式输出到磁盘,则磁盘占用5个字节(每个字符一个字节),而 二进制形式输出,则在磁盘上只占4个字节(VS2013测试) 7....内存向磁盘输出数据会先送到内存缓冲区,装满缓冲区后才一起送到磁盘上。

    12110

    C++ Primer Plus习题及答案-第十七章

    为什么在不为每个类型提供明确指示情况下,cout仍能够显示不同C++类型? ostream类为每种C++基本类型定义了一个operator <<()函数版本。...编写一个程序,要求用户输入一个整数,然后以十进制、八进制和十六进制显示该整数。在宽度为15个字符字段显示每种形式,并将它们显示在同一行上,同时使用C++数基前缀。...编写一个程序,它打开两个文本文件进行输入,打开一个文本文件进行输出。该程序将两个输入文件对应行拼接起来,并用空格分隔,然后将结果写入到输出文件。...文本文件mat.dat读取Mat朋友姓名清单,其中每行为一个朋友。姓名将被存储在容器,然后按顺序显示出来。 文本文件pat.dat读取Pat朋友姓名清单,其中每行为一个朋友。...姓名将被存储在容器,然后按顺序显示出来。 合并两个清单,删除重复条目,并将结果保存在文件matnpat.dat,其中每行为一个朋友。

    3.1K30

    Hadoop重点难点:Hadoop IO压缩序列化

    Writable 接口 Writable 接口定义了两个方法:一个将其状态写入 DataOutput 二进制流,另一个 DataInput二进制流读取状态。...BytesWritable BytesWritable 是对二进制数据数组封装。它序列化格式为一个指定所含数据字节数整数域(4字节),后跟数据内容本身。...例如,长度为2字节数组包含数值3和5,序列化形式为一个4字节整数(00000002)和该数组两个字节(03和05) NullWritable NullWritable 是 writable 特殊类型...在面向列格式,文件行被分割成行分片,然后每个分片以面向列形式存储:首先存储每行第一列值,然后是每行第2列值,如此以往。...文件块大小作为元数据存储在.crc文件,所以即使文件块大小设置已经发生变化,仍然可以正确回文件。

    96130

    Hadoop重点难点:Hadoop IO压缩序列化

    Writable 接口 Writable 接口定义了两个方法:一个将其状态写入 DataOutput 二进制流,另一个 DataInput二进制流读取状态。...BytesWritable BytesWritable 是对二进制数据数组封装。它序列化格式为一个指定所含数据字节数整数域(4字节),后跟数据内容本身。...例如,长度为2字节数组包含数值3和5,序列化形式为一个4字节整数(00000002)和该数组两个字节(03和05) NullWritable NullWritable 是 writable 特殊类型...在面向列格式,文件行被分割成行分片,然后每个分片以面向列形式存储:首先存储每行第一列值,然后是每行第2列值,如此以往。...文件块大小作为元数据存储在.crc文件,所以即使文件块大小设置已经发生变化,仍然可以正确回文件。

    93310

    C语言进阶(十四) - 文件管理

    ) 为了和写,以文本文件形式新建一个空内容文件。...offset是相对于origin偏移量,可以是负整数。 offset是相对位置偏移字节数。 origin是位置指示器偏移时参考位置。...文本文件与二进制文件是啥? 首先二者都是文件,只是数据文件(外存)对于数据储存方式有着不同。 在内存数据本质都是以二进制形式储存,这样原汁原味不加转换直接输出到文件,就是二进制文件。...内存相同数据采用二进制形式储存到二进制文件大小往往比采用ANSIC码值形式储存到文本文件大小要小上不少。不过也有例外情况就是了(比如存放整数1)。 图解: ---- 4....**如果磁盘向计算机读入数据,则从磁盘文件读取数据输入到内存缓冲区,充满缓冲区或强制刷新(fflush()函数)缓冲区时,会从缓冲区逐个将数据送到程序数据区(程序变量等)。

    97210
    领券