【发布时间】:2012-03-03 09:53:56
【问题描述】:
所以我正在尝试创建一个 Befunge 解释器并将一个文本文件读入一个数组。 我正在使用此代码:
char map[100][100]; //not 85 x 20
//load the source
ifstream f;
f.open("file.txt", ios::in);
string s;
int i = 0;
while(f.good() && i < 100)
{
getline(f, s);
map[i] = s.c_str();
i++;
}
这不行,有谁知道不用手动循环字符串的方法吗?
【问题讨论】:
-
但是你明白为什么它不起作用吗?这很重要……
-
使用
strcpy并注意缓冲区溢出。您不能分配给数组。或者更好的是,使用std::vector<std::string>而不是古怪的 C 字符串 -
有什么理由不能使用
std::vector<std::string>甚至std::string[100]?如果您使用的是 C++,请利用它的类型! -
向量可能是最好的主意,因为我正在计划无限存储,是的@ildjarn 我知道它为什么不起作用。
标签: c++ string file-io multidimensional-array