我试图从 .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")
);
关于C++ ifstream帮助(简单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309659/