私はCSVで作業しようとしていますが、見つかった限り、列や行を挿入できるオープンソースライブラリはありません。代わりに、私は、各セルの値を取得し、それをセルの右側にコピーすることによってシミュレーションするコードを記述しようとしています。これを行うために、私は右から始めて、左から右に動くようなデータを破壊しないように左に動こうとしています。ここでCSVでC++でセルを読み書きする
は、これまでの私のコードです:
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
FILE * qFile;
qFile = fopen ("Testcsv2.csv", "r+");
int i, j, k;
char input [80];
printf("Variables declared\n");
for(k=1;k<5;k++)
{
printf("k loop entered\n");
for(i=5;i>1;i--)
{
printf("i loop entered\n");
for(j=1;j<i;j++)
{
fscanf(qFile, "%2[^,]", input);
printf("Input is %s\n", input);
}
fprintf(qFile, "%s", input);
}
}
fclose (qFile);
return 0;
}
私はこれをしようとするたびに関数fscanf等、代わりにA1を読んで何度もA1を読み込み、その後、B1、C1、私は取得するにはどうすればよい
これは、セルを横切ってセルを読み取ってから、ラインを下に移動してもう一度やり直すのですか?
ありがとうございます!
EDIT:入力ファイルは、そのセルに対応するデータを持つ最初の4x4セルセットです。
ie。 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4各々がそれ自身のセルに含まれる
。
これをC++とタグ付けしたので、char配列よりも安全でロバストであるため、 'std :: string'を使用するべきです。 –
あなたは本当にC++を使っていますか?これは、未使用のC++インクルードを2つ並べたストレートCコードのようです。 – NathanOliver
あなたのプログラムは、入力で '、'を探しています。それらはあなたの投稿された入力のどこにありますか? –