C++ifstream帮助(简单)

C++ ifstream help (simple)

本文关键字:简单 帮助 C++ifstream      更新时间:2023-10-16

我试图从.txt文件中获取一些名称,并将它们添加到char数组中,但发生了一些奇怪的事情。这是我输入的代码部分:

int main()
{
string namelist[30];
int i=0;
string line;
ifstream file("C:\names.txt");
if (file.is_open())
{
    while ( getline (file,line).good () )
    {
        getline(file,line);
        cout << line << endl;  // It prints the names normally (it was added for   debugging) //
        namelist[i] = line;
    }
    file.close();
}
cout << namelist;  // Here is the prob.

在代码的最后一行,它在控制台上打印一个指针,而不是列表和我不知道为什么。我对c++还很陌生,所以不要粗鲁!

文本文件类似于:

John
Nick
Samatha
Joe
...

如有任何帮助,我们将不胜感激:)

因为数组的名称是一个指针,所以写

for (int i = 0; i < 30; ++i)
    std::cout << namelist[i] << std::endl;

#include <algorithm>
#include <iterator>
//...
std::copy(namelist
         , namelist + 30
         , std::ostream_iterator<std::string>(std::cout, "n")
);