数组到多个数组C++
我有一个字符串数组,它保存从文件读取的数据。 它由76行组成 我要做的是将它们存储在不同的数组中。 如1数组中的第21行到第31行。第31至41个阵列。我该怎么做。。。plz帮助 我想把70行分成7个数组,每个数组包含10行。不用向量就可以了数组到多个数组C++,c++,C++,我有一个字符串数组,它保存从文件读取的数据。 它由76行组成 我要做的是将它们存储在不同的数组中。 如1数组中的第21行到第31行。第31至41个阵列。我该怎么做。。。plz帮助 我想把70行分成7个数组,每个数组包含10行。不用向量就可以了 但是这不起作用您正在使用相等运算符==。在整个循环执行过程中,我将只等于其中一个值的6倍。只有当我11岁、22岁、33岁、44岁、55岁或66岁时;对于i的任何其他值,您的循环将不起任何作用 你的意思大概是这样的: getline(ol, arr[i/11
但是这不起作用您正在使用相等运算符==。在整个循环执行过程中,我将只等于其中一个值的6倍。只有当我11岁、22岁、33岁、44岁、55岁或66岁时;对于i的任何其他值,您的循环将不起任何作用 你的意思大概是这样的:
getline(ol, arr[i/11][i%11]);
其中,arr是std::vectors的std::vector。或字符串数组的数组
还有一种方法是:
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...
}
这是假设您没有超过80行。7*10!=77 .. 您想做什么?您是否考虑过使用std::vector或std::map作为容器?两者都会让你的生活更轻松。跟随@chris留给你的链接,这会让你省去很多痛苦。最后的编辑让这个问题变得毫无意义,因为你没有展示任何有用的东西,你的最后一句话有一个悬而未决的参考。我想知道你为什么删除了那条评论。看来我应该注意到了。不知什么原因,向量出来了。我自己解决了。首先在一个循环中初始化两个变量,例如:forint i=start;j=0;i<结束;i++,j++,以便开始和结束时可以从大数组中传递值。j将是小数组插入。所以这很容易。arr1[j]=largearray[i];
#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;
}
}
}