我有一个字符串数组,它保存从文件中读取的数据。它由 76 行组成。
我想要做的是将它们存储在不同的数组中。就像从 1 个数组中的第 21 行到第 31 行一样。和第 31 到 41 个阵列。我该怎么做...请帮助
我想将 70 行拆分为 7 个数组,每个数组包含 10 行。并且不使用向量来做
但这没有用
我有一个字符串数组,它保存从文件中读取的数据。它由 76 行组成。
我想要做的是将它们存储在不同的数组中。就像从 1 个数组中的第 21 行到第 31 行一样。和第 31 到 41 个阵列。我该怎么做...请帮助
我想将 70 行拆分为 7 个数组,每个数组包含 10 行。并且不使用向量来做
但这没有用
您正在使用相等运算符==
。在整个循环执行过程中i
,将仅等于其中一个值6 次。仅当i
, 11
, 22
, 33
,或44
; 对于您的循环的任何其他值,将无济于事。55
66
i
你可能的意思是<
相反。
像这样的东西:
getline(ol, arr[i/11][i%11]);
其中 arr 是std::vector
s的一个std::vector<std::string>
。或字符串数组的数组。
还有一种方法是:
while (1) {
std::string *ptr;
if (i < 11) ptr = arr1;
else if (i < 22) ptr = arr2;
// long list of arrays
getline(ol, ptr[i%11]);
// increment i, break on eof...
}
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
string arr[8][10];
int i = 0, j = 0;
ifstream ol("a.txt");
while(getline(ol, arr[i][j]))
{
++j;
if(j == 10)
{
++i;
j = 0;
}
}
}
这是假设您的行数不超过 80 行。