Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用自定义分隔符从文件中读取文本字段_C++_Arrays_Istream - Fatal编程技术网

C++ 使用自定义分隔符从文件中读取文本字段

C++ 使用自定义分隔符从文件中读取文本字段,c++,arrays,istream,C++,Arrays,Istream,我正在处理一个我正在学习的类的问题,我们需要将文本从一个文件读入一个二维字符串表(称为“字符串表[][])。我正在读取的文本文件的格式如下: 艾因·贝达——OEB——阿尔及利亚——非洲——F——42578——61997——90560# 塞格巴纳-阿里-贝宁-非洲-1-10219-1# 斯克尔梅斯代尔####兰#英格兰#欧洲#F#42611#42104#39279## # 如您所见,每个字段由一个“#”分隔,行尾由2表示,文件结尾由3表示。我一直在寻找几种不同的方法来隔离每个字段,以便将其保存到阵

我正在处理一个我正在学习的类的问题,我们需要将文本从一个文件读入一个二维字符串表(称为“字符串表[][])。我正在读取的文本文件的格式如下:

艾因·贝达——OEB——阿尔及利亚——非洲——F——42578——61997——90560#

塞格巴纳-阿里-贝宁-非洲-1-10219-1#

斯克尔梅斯代尔####兰#英格兰#欧洲#F#42611#42104#39279##

#

如您所见,每个字段由一个“#”分隔,行尾由2表示,文件结尾由3表示。我一直在寻找几种不同的方法来隔离每个字段,以便将其保存到阵列中,但到目前为止,还没有找到任何适合我的方法

我已经为此绞尽脑汁好几个小时了,如果您能给我一些建议,我将不胜感激。

考虑使用,因为它允许您指定一个分隔符(在您的情况下,分隔符是
#

请注意,每个字段实际上由一个空格和一个
#
分隔,因此在某些情况下会有前导/尾随空格

因为这是一节课,剩下的我就让你来解决

std::ifstream file("somefile.txt");
std::string field1;
std::getline(file, field1, '#'); // Ain el Beida