Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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++_String_Ifstream - Fatal编程技术网

如何从一行中读取特定数量的字符?(C++)

如何从一行中读取特定数量的字符?(C++),c++,string,ifstream,C++,String,Ifstream,我正在做一个家庭作业,我需要检查.txt文件的第一行。在这种情况下,文本文件的第一行应该读取样本数:,后跟一个未指定的数字。如果该行不是以样本数开始的,我需要在显示错误消息后终止程序。假设行以正确的字符串开头,我需要将数字作为无符号整数读入 总之,我需要从.txt文件行读取19个字符。我如何才能做到这一点,同时仍然能够读入行的其余部分以将其存储为变量 我使用的库是iostream、string、ofstream和ifstream,如果有必要的话。发布一篇文章,说明您到目前为止所掌握的知识,以便我

我正在做一个家庭作业,我需要检查.txt文件的第一行。在这种情况下,文本文件的第一行应该读取样本数:,后跟一个未指定的数字。如果该行不是以样本数开始的,我需要在显示错误消息后终止程序。假设行以正确的字符串开头,我需要将数字作为无符号整数读入

总之,我需要从.txt文件行读取19个字符。我如何才能做到这一点,同时仍然能够读入行的其余部分以将其存储为变量


我使用的库是iostream、string、ofstream和ifstream,如果有必要的话。

发布一篇文章,说明您到目前为止所掌握的知识,以便我们能够评估您当前的理解并帮助您填补空白。由于您读取的未签名值带有忽略前导空格,您可以保存一个字符,只需使用18个字符-样本数:作为介绍测试对于串联来说是很好的,您的选择是temp.push\u backsd::cin.get;两种方法都可以,由你决定。总是用更有效的方法。我很感激你指出这一点。
ifstream x;
char addToString;
string check = "Number of samples: ";
string temp = "";
int num;
x.open("file.txt");

for (int i = 0; i < 19; i++){
     x.get(addToString);
     temp += addToString;
}

if (check == temp){
     x >> num;
     // other stuff
}

else {
     cout << "error message" << endl;
}

x.close();

return 0;