[英]Reading In Multiple Data types from a .txt file where one of the strings has spaces C++
[英]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.