我想获取一个连续的行,用“&”分隔的值加载到多维数组中。这就是我想要做的事情 - 除了包含我的分隔值的字符串“str”,其格式为“value1,value2,value3等...”之外,所有内容都会在代码中检出,只是将整个字符串加载到阵列[0] [0]。我知道有更好的方法可以做到这一点,但我想知道的是为什么C++不会将“str”视为键入了单个值和硬编码“数组”。C++从外部文件的多维数组问题
下面是代码:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
string str, strTotal;
ifstream in;
in.open("Desktop/01_001.PAC");
getline(in,str);
while (in) {
strTotal += str;
getline(in,str);
}
string searchString("&");
string replaceString(", ");
assert(searchString != replaceString);
string::size_type pos = 0;
while ((pos = str.find(searchString, pos)) != string::npos) {
str.replace(pos, searchString.size(), replaceString);
pos++;
}
string array[4][5] = {str};
cout << array[0][0];
return(0);
}
这里是外部文件("Desktop/01_001.PAC"
):
void&void&void&void&a&a1&a2&a3&b&b1&b2&b3&c&c1&c2&c3&d&d1&d2&d3
提前感谢!
如果你刚开始学习程序(这听起来像你是),那么C++是诚实的你真的可以开始用最糟糕的语言。 – 2011-01-29 23:04:00
我主要用PHP,Javascript等网络语言编程,昨天刚刚启动C++。我试图将PHP的想法应用到C++,它一直是一个活生生的地狱,哈哈...... – tech0234 2011-01-29 23:21:22