[過去ログ] DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
453: 2018/09/03(月)23:58 ID:JgPc/ZW2(1) AAS
「,」じゃなくてTABスペースで区切るとか
「'座標(x,y)'」みたいにシングル・ダブルクォーテーションで囲む「,」を含むセルだとか
CSVも奥が深い
454: 2018/09/04(火)02:54 ID:jVVbpFTb(1) AAS
ヘッダにコメントにセル内改行に空白セルに非固定列数に…
あれやこれや対応させると面倒なので、仕様はExcel出力版に決めうちとかしちゃう
それでいてExcel経由でもやり方によって微妙に違ったりするけど
455: 2018/09/04(火)12:16 ID:qFImTgae(1/3) AAS
Excel出力でも小数点の区切りがカンマな国とかあって地獄絵図なんだよなぁ
456: 2018/09/04(火)12:18 ID:qFImTgae(2/3) AAS
日本語がおかしかった
「小数点ががカンマ」ね
457: 2018/09/04(火)12:18 ID:qFImTgae(3/3) AAS
死にたい・・・
458: 2018/09/04(火)18:21 ID:87Ucq8PA(1) AAS
ワロタw
そもそも「小数点の区切りがカンマ」って別に変な日本語じゃないと思うけど?
459: 2018/09/05(水)02:54 ID:6fPtkJ/i(1) AAS
「(整数と)小数の区切り記号がカンマ」か
「小数点という区切り記号がカンマ」かってとこじゃない?
まあいずれにせよ通じる内容、普通に見落としちゃうレベルではある
460
(1): 2018/09/05(水)23:25 ID:jdPHLPpw(1) AAS
もう>>442は投げ出しているだろうよ
461
(1): 2018/09/07(金)06:49 ID:SP/YWN4v(1/13) AAS
>>460
投げ出していません。
>>448さんのせっかくのソースがちょっと複雑で、、、
言葉でなにをしなければならないのか、アドバイスほしいです。

要は、
archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから
普通にCSVを開くプログラムを書いていると
archive後、正常に読み込まないってことですよね?
ということは、バイナリ状態のCSVを読み込むプログラム文を書けってことですか?
でも、それだとビジュアルスタジオ上のデバッグプレイじゃ
省3
462
(2): 2018/09/07(金)12:19 ID:knV8JfdB(1/3) AAS
>>461
>>でも、それだとビジュアルスタジオ上のデバッグプレイじゃ
>>バイナリ化してないcsvなんでエラーが起きますよね?
何を言っているのか分からん

デバッグモードだろうがバイナリ形式のファイルを読み込むプログラムを書けばバイナリ形式で読み込むし、
テキスト形式を読み込むプログラムを書けばテキスト形式で読み込むでしょ
463
(1): 2018/09/07(金)12:41 ID:SP/YWN4v(2/13) AAS
>>462
えっと、自分の知識不足かもしれませんが
普通に数字と「,」だけが詰まったcsvファイルを用意していても
バイナリ形式で読むプログラムを書いていれば
バイナリ形式で読むってことですか?

バイナリ形式で読むプログラムを書いた場合は
用意するファイルもバイナリ形式で保存されたファイルじゃないと
ダメなのかなと思っているんですけど。
464: 2018/09/07(金)13:34 ID:knV8JfdB(2/3) AAS
>>463
そもそも上の方に書いてあった
「バイナリ形式は改行が削除される」っていうのが表現として適切じゃないな

改行コードを改行として認識するのがテキスト形式
改行コードをそのまま文字の羅列として認識するのがバイナリ形式

テキスト形式のファイルをバイナリ形式で読み込んだら
そのテキスト内の改行コードがそのまま文字列として読み込まれるだけ
465: 2018/09/07(金)13:46 ID:2W2TZVJf(1/4) AAS
1 複数データを一つにまとめたい(暗号化したい)
2 読み込みプログラム(csvパーサー?)は既存のものをそのまま流用したい
ってことなのかな……

>>444>>446>>448のキモは、DXアーカイブファイルを一本のchar配列に読み込む(バイナリデータとして扱う)という部分なので、
結局DXアーカイブもifstreamも関係なくて、char配列内のバイナリデータを自力で解析できるかという話になる

パソコンで使うデータは全てバイナリデータと言えるので、csvだろうが音声だろうがDXアーカイブファイルだろうが全てバイナリ形式で読み込める
466
(1): 2018/09/07(金)14:40 ID:SP/YWN4v(3/13) AAS
>>462
>パソコンで使うデータは全てバイナリデータと言えるので、
>csvだろうがDXアーカイブファイルだろうが全てバイナリ形式で読み込める

その理論だとcsvや音声などの外部素材データをDXarchiveファイルにしたとしても、
archiveする前、つまりはビジュアルスタジオのプロジェクト上で
ビルドして正常に機能してるプログラムそのままでも
archive後も正常に機能するはずではないですか?

もう少し具体的に言いますと>>442で説明しきれなかったんですが
ifstream ifsを利用して、csvの中の数値を配列に入れ込むプログラムを
自分は書いてまして、そのプログラムで問題なく動いてるゲームがあるんですが、
省14
467: 2018/09/07(金)15:06 ID:knV8JfdB(3/3) AAS
>>466
アーカイブは言わば「バイナリ形式」のファイルでしょ?

「テキスト形式のファイルを読み込むプログラム」でバイナリ形式のアーカイブを読み込もうとしてるからバグってるんじゃない?

123
456
789

上記のファイルがあったとして「1行読み込む」関数を使った場合
「123」「456」「789」って読み込むだろうけど
アーカイブ化(バイナリ形式)すると「1行読み込む」関数を使うと
「123\r\n456\r\n789」みたいに 一つの文字列として全部読み込むから数値が正常に読み取れてないと思うんだけど
468
(3): 2018/09/07(金)15:15 ID:2W2TZVJf(2/4) AAS
まず、DXアーカイブファイルは全部のファイルを無理矢理合体&暗号化した完全独自形式のものなので、基本的にDXライブラリが用意した専用の関数でしか読み込めない

画像やサウンドはDXライブラリの読み込み関数を使うから、何もせずともDXアーカイブファイルから読み込めるようになってるんだよ
LoadGraph等には、内部的にFileRead_openが入ってるので、元のフォルダだろうとアーカイブだろうと読み込める

ただ、暗号化されてない場合に限り、小細工を弄すればバイナリファイルとして直接読める。(フォーマットを理解して自力でポインタ移動する必要がある) 上でみんなが説明してるのはこれ

これまでのやり取りを見る限り、バイナリファイル云々は今の君の知識で理解するのはたぶん無理なので、DXライブラリの関数使って地道にがんばったほうがいい
というかなぜFileRead_openを拒むのかがわからない……
469
(4): 2018/09/07(金)15:15 ID:SP/YWN4v(4/13) AAS
AA省
470: 2018/09/07(金)15:22 ID:SP/YWN4v(5/13) AAS
行数制限のせいで見づらいソースになってますが、ご了承ください。
処理内容は引数で配列の縦と横の値と、csvファイルのパスを受け取り、
まず、bufに全部入れてから、map配列に入れていく感じです。
呼び出しはLoadData(4,4,"h/m/data.csv");みたいな感じで書きます。
archiveファイル化しなければ、これで正常に動きます。

>>468
>基本的にDXライブラリが用意した専用の関数でしか読み込めない
>画像やサウンドはDXライブラリの読み込み関数を使うから、
>何もせずともDXアーカイブファイルから読み込めるようになってるんだよ

納得です。それを聞きたかったんです。わかりやすいです。
省6
471
(3): 2018/09/07(金)15:27 ID:2W2TZVJf(3/4) AAS
だからFileRead_readやFileRead_getsで読むんだぞ
もう一度リファレンスを熟読するんだ
472: 2018/09/07(金)15:28 ID:SP/YWN4v(6/13) AAS
あ、ちなみに>>469で利用しているMap配列の要素数は決めておらず、
vector<vector<int>>Map;と宣言しており、
第一、第二引数を受け取ってから要素数を決定させています。
1-
あと 530 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s