这是一个非常基本的问题,因为我刚刚开始使用 C++。我要从文件(文本)中读取一行的 20 个字符。例子:
Wayne, Bruce 0000000
我想将“Wayne,Bruce”及其后面的空格保存为字符串。我已经尝试了一段时间,但我不知道该怎么做。因此,如果有人可以帮助我,我要求答案保持简单。我试着用谷歌搜索这个并认为我找到了一些答案,但其中大多数都超出了我的想象。谢谢你。
这是一个非常基本的问题,因为我刚刚开始使用 C++。我要从文件(文本)中读取一行的 20 个字符。例子:
Wayne, Bruce 0000000
我想将“Wayne,Bruce”及其后面的空格保存为字符串。我已经尝试了一段时间,但我不知道该怎么做。因此,如果有人可以帮助我,我要求答案保持简单。我试着用谷歌搜索这个并认为我找到了一些答案,但其中大多数都超出了我的想象。谢谢你。
#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 个字符,则这是不安全的。
如果您想从文件中读取 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();
}