小编Cur*_*ous的帖子

如何使用逗号分隔值读写/写入文本文件

如果我的文件是逗号分隔值,我如何从文件中读取数据

1, 2, 3, 4, 5\n
6, 7, 8, 9, 10\n
\n
Run Code Online (Sandbox Code Playgroud)

在读完文件后,我想将数据写回到上面相同格式的其他文件中.

我可以使用获得总行数

string line;
while(!file.eof()){
      getline(file,line);
      numlines++;
    }
    numline--; // remove the last empty line
Run Code Online (Sandbox Code Playgroud)

但我怎么知道一行/一行的总位数?

我还有一些存储数据的向量.所以,我想读取第一行,然后计算该行中元素的总数,这里是5(1,2,3,4,5)并将它们存储在数组/向量中,然后读取下一行并将它们存储在向量中再等等,直到我到达EOF.

然后,我想将数据写入文件,我想这将完成将数据写入文件的工作,

numOfCols=1;
for(int i = 0; i < vector.size(); i++)
{
    file << vector.at(i);
    if((numOfCols<5) file << ",";//print comma (,)
    if((i+1)%5==0)
    {
                  file << endl;//print newline after 5th value
                  numOfCols=1;//start from column 1 again, for the next line
    }
    numOfCols++;
}
file << endl;// last new line
Run Code Online (Sandbox Code Playgroud)

所以,我的主要问题是如何用逗号分隔值从文件中读取数据?

谢谢

c++ csv

23
推荐指数
2
解决办法
7万
查看次数

使用传染媒介的二维数组

我想用vector创建2D数组.但是,当我这样做时,我得到了段故障.任何人都可以解释我做错了什么,以及解决这个问题的可能方法.

我把一切都公之于众,因为我现在不想与吸气剂和制定者打交道.我想清楚地了解2D数组的概念.

#include <iostream>
#include <vector>
using namespace std;

class point
{   
    public:
        point():x(0),y(0){}
        ~point(){}
        point(float xx,float yy):x(xx),y(yy){}
        float x,y;
};

int main()
{
    vector<vector<point> > a; // 2D array
    point p(2,3);
    a[0][0] = p; // error here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ stl

22
推荐指数
3
解决办法
7万
查看次数

在C/C++中以递增的值对2D数组进行排序; 排序后知道原始位置?

我已经编写了一个程序,可以按增加的值对2D数组进行排序.

这是我的输入和输出.

Input:

Array2D[0][0] = 99 Array2D[0][1] = 10 Array2D[0][2] = 97 Array2D[0][3] = 10 Array2D[0][4] = 14 Array2D[1][0] = 73 Array2D[1][1] = 53 Array2D[1][2] = 81 Array2D[1][3] = 22 Array2D[1][4] = 88

Output:

Array2D[0][0] = 10 Array2D[0][1] = 22 Array2D[0][2] = 53 Array2D[0][3] = 53 Array2D[0][4] = 73 Array2D[1][0] = 73 Array2D[1][1] = 81 Array2D[1][2] = 81 Array2D[1][3] = 88 Array2D[1][4] = 99

现在,我想知道的是价值观的原始立场.例如,Array2D [0] [0]现在包含10个,但是我也想知道这个10在输入之前的位置,这里例如,它在输入中的Array2D [0] [3]中.所以,我想要所有价值观的原始立场.

我不知道该怎么做.也许使用一些额外的结构来记住位置或使用指针.任何帮助,将不胜感激.

它可以用C,C++完成.

注意:对于排序,我将2D数组转换为1D数组,并使用冒泡排序对其进行排序并转换回2D数组.

c c++ multidimensional-array

0
推荐指数
1
解决办法
1501
查看次数

标签 统计

c++ ×3

c ×1

csv ×1

multidimensional-array ×1

stl ×1