[過去ログ] DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
448(2): 名前は開発中のものです。 [] 2018/09/01(土) 14:32:20.17 ID:PENKT9BN(1/3) AAS
>>445
2chは長い行で書き込めないのよ
string all;
char* path = "./hello.csv";
int size = (int)FileRead_size( path ) ; // 1char = 1byte
char* buffer = new char[size];
int id = FileRead_open( path, false ) ;
FileRead_read( buffer, size, id) ;
all = buffer; // copy to string
delete[] buffer;
FileRead_close(id);
// allをcsvのrow(\r\n)とcol(,)でパースする。csv書式の不正チェックとか丁寧にやると長くなるので以下適当
string csv[ROW][COL];
string tmp = "";
int x = 0; int y = 0;
for(int i=0; i<all.length(); i++){
char c = all[i];
if(c == ',') {
csv[y][x] = tmp; tmp = ""; x++;
} else if (c == '\n') { // 本当は\r\nの2つで改行なんだけど
csv[y][x] = tmp; tmp = ""; x = 0; y++;
} else { tmp += c; }
}
csv[y][x] = tmp; // 最後の一個
文字列(string)から数値(intとか)に変えるときはatoiじゃなくてstrstreamだかを使うとよい
461(1): 名前は開発中のものです。 [] 2018/09/07(金) 06:49:13.67 ID:SP/YWN4v(1/13) AAS
>>460
投げ出していません。
>>448さんのせっかくのソースがちょっと複雑で、、、
言葉でなにをしなければならないのか、アドバイスほしいです。
要は、
archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから
普通にCSVを開くプログラムを書いていると
archive後、正常に読み込まないってことですよね?
ということは、バイナリ状態のCSVを読み込むプログラム文を書けってことですか?
でも、それだとビジュアルスタジオ上のデバッグプレイじゃ
バイナリ化してないcsvなんでエラーが起きますよね?
だからすごく困っています。
どうすればいいのか
465: 名前は開発中のものです。 [sage] 2018/09/07(金) 13:46:37.16 ID:2W2TZVJf(1/4) AAS
1 複数データを一つにまとめたい(暗号化したい)
2 読み込みプログラム(csvパーサー?)は既存のものをそのまま流用したい
ってことなのかな……
>>444>>446>>448のキモは、DXアーカイブファイルを一本のchar配列に読み込む(バイナリデータとして扱う)という部分なので、
結局DXアーカイブもifstreamも関係なくて、char配列内のバイナリデータを自力で解析できるかという話になる
パソコンで使うデータは全てバイナリデータと言えるので、csvだろうが音声だろうがDXアーカイブファイルだろうが全てバイナリ形式で読み込める
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s