我在C ++中有以下代码
char *Names[];
int counter=0;
int _tmain(int argc, _TCHAR* argv[])
{
int data;
ifstream fileX;
fileX.open("myfile",ios::in);
assert (!fileX.fail( ));
fileX >> data;
while(fileX!=eof())
{
createNamesList(data);
fileX >> data;
}
return 0;
}
void createNamesList(char *tmp)
{
Names[counter] = tmp;
counter++;
}
我想逐行读取文件中的数据并将每一行存储在二维array char* Names[]
中,以便与我一起保存整个列表。每行中数据的大小是可变长度以及行数;
喜欢
Name[0] ="Data from Line 1"
Name[1] ="Data from Line 2"
Name[2] ="Data from Line 3"
Name[3] ="Data from Line 4"
.
.
.
以上代码给出了以下错误
错误LNK2001:未解析的外部符号“char ** Names”(?姓名@@ 3PAPADA)
我们将不胜感激。
答案 0 :(得分:2)
您看到的错误消息几乎不是此代码问题的冰山一角。
我建议使用编译器附带的std::vector
和std::string
类来使这更简单。
int main() {
std::ifstream fileX("myfile");
std::vector<std::string> Names;
std::string temp;
while (std::getline(fileX, temp))
Names.push_back(temp);
return 0;
}