我试图从.txt文件中获取一些名称,并将它们添加到字符数组中,但发生了一些奇怪的事情。下面是我的代码输入部分:
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
...如有任何帮助,我们将不胜感激:)
发布于 2012-09-07 07:07:34
因为数组的名称是一个指针,所以写为
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")
);https://stackoverflow.com/questions/12309659
复制相似问题