[過去ログ]
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
448: 名前は開発中のものです。 [] 2018/09/01(土) 14:32:20.17 ID:PENKT9BN >>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だかを使うとよい http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/448
449: 名前は開発中のものです。 [] 2018/09/01(土) 14:44:21.63 ID:PENKT9BN 追記 csvファイルの最後に無駄な改行がついてたりすると配列のサイズ超えたりしがちなので注意 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/449
450: 名前は開発中のものです。 [] 2018/09/01(土) 14:53:41.96 ID:PENKT9BN さらに追記 csvの最後ってヌル文字で終わってないだろうから自分で足したほうがいいかも string all; char* path = "./hello.csv"; int size = (int)FileRead_size( path ) ; // '\0'が無い文字列char*をstringに渡すと長さ不定でまずい char* buffer = new char[size+1]; buffer[size] = '\0'; int id = FileRead_open( path, false ) ; FileRead_read( buffer, size, id) ; all = buffer; // copy to string delete[] buffer; FileRead_close(id); http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/450
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s