0

这是一个非常基本的问题,因为我刚刚开始使用 C++。我要从文件(文本)中读取一行的 20 个字符。例子:

Wayne, Bruce        0000000

我想将“Wayne,Bruce”及其后面的空格保存为字符串。我已经尝试了一段时间,但我不知道该怎么做。因此,如果有人可以帮助我,我要求答案保持简单。我试着用谷歌搜索这个并认为我找到了一些答案,但其中大多数都超出了我的想象。谢谢你。

4

2 回答 2

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 个字符,则这是不安全的。

于 2013-04-09T02:41:48.917 回答
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();
}
于 2013-04-09T01:35:03.337 回答