这是一个非常基本的问题,因为我刚刚开始使用C ++。我要从文件(文本)中读取一行的20个字符。例如:
Wayne, Bruce 0000000
我想将“Wayne,Bruce”及其后面的空格保存为字符串。我已经尝试了一段时间,我无法弄清楚如何解决这个问题。因此,如果有人可以帮助我,我会问答案很简单。我试着谷歌搜索这个并认为我找到了一些答案,但大多数都是我的头脑。谢谢。
答案 0 :(得分:1)
#include <algorithm>
#include <fstream>
#include <string>
int main()
{
std::string str;
std::ifstream file("test.txt");
std::copy_n(
std::istreambuf_iterator<char>(file),
20,
std::back_inserter(str)
);
}
请注意,如果有问题的文件少于20个字符,则这不安全。
答案 1 :(得分:0)
如果您想从文件中读取20个字符的块,那么您可以尝试这样的事情,
void readFromFile(char *input) //Parameter is your filename
{
ifstream file_input;
file_input.open(input, ios::in);
vector<string> vec; // Optional in case you want to store these
while (file_input.good()) {
char arr[21] = "";
file_input.read (arr,20);
vec.push_back(arr); //if you want to store these chunks into vector
}
file_input.close();
}