繁体   English   中英

从C++中的.txt读取多种数据类型和大小

[英]Reading multiple data types and sizes from .txt in C++

我有以下输入文本文件:

MISSISSIPPI

0 1 5 6

3

0 1 1 1,
0 1 4 4,
0 0 0 1,
0 0 0 2,
1 1 1 1,
0 1 1 1

我想读第一个字符串,第二个线数组,第三个integer,然后是剩下的整个矩阵,分别读入4个变量。 我怎样才能做到这一点?

使用std::ifstream打开文件。

第一行很简单,只需使用std::getline()将整行读入std::string

如果第二行总是 4 个整数,您可以硬编码 4 个对operator>>的调用,将值存储到一个int[4]数组中。 但是,更可靠的解决方案是首先使用std::getline()读取整行,然后从std::string创建一个std::istringstream ,然后在循环中调用operator>>以从中读取整数stream,将它们存储到动态数组中,如std::vector

第 3 行很简单,只需使用operator>>即可。

最后,对于矩阵,类似于上面的第二行。 由于您现在知道如何从 1 行解析多个整数,只需对多行一遍又一遍地执行此操作,或者在循环中直到没有更多行可读,或者如果矩阵是固定的,则硬编码迭代次数 -尺寸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM