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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
440: 2018/08/30(木)08:01 ID:w5Eoz0MG(1) AAS
>>439
多分そこが一番誤解されやすいとこだよな。
基本はDirectXで自前で全部作りたいけれどめんどくさい設定周りだけはやって欲しい人向けのお助けラッパーだよね。
そこにDirectX以上の機能はいらないし。今の状態で十分。
441: 2018/08/30(木)14:26 ID:83gEz2C2(1) AAS
「各種ゲーム用エンジン紹介」みたいなところで触れられる分には「そんなもんか」って感じだけど
「ゲームエンジンを使っている」カテゴリの中にDXライブラリ製ゲームが含まれるとあれ?って思う
自分でも基準がよく分からない
442
(2): 2018/08/31(金)10:19 ID:MuDS6z7U(1/2) AAS
教えてほしいんですが
int fp = FileRead_open("csvファイル");
この場合、fpにはcsvがそのまま入ってるという解釈でいいですか?
つまり、ifstream ifs(fp);が可能になるのかが知りたいです。

ifstream ifs(FileRead_open("csvファイル"));は無理ですか?

なんでこんな面倒なこと考えるかというと、
archive化したファイル内のcsvを読みたいんです。
443: 2018/08/31(金)10:29 ID:MuDS6z7U(2/2) AAS
>archive化したファイル内のcsvを読みたいんです

厳密に言いますと、
ifstream ifs();で読み込んで
string buf[要素数];
while(ifs && getline(ifs,buf[line])){
line++;
}
省17
444
(2): 2018/08/31(金)23:18 ID:8gsP87Iw(1) AAS
archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから
最初にファイルサイズを計って1行ではなく全部をchar[filesize]に読み込むしかないんじゃない?
445
(2): 2018/09/01(土)06:52 ID:RWsTVHZH(1) AAS
>>444
>archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから

え、それ本当ですか?

>最初にファイルサイズを計って1行ではなく全部をchar[filesize]に読み込むしかないんじゃない?

すみません、もう少し具体的に教えてください!
446
(1): 2018/09/01(土)07:02 ID:BLfEX+5a(1) AAS
>>445
ファイルサイズが1000なら
char t_data[ 1000 ] にファイルのデータを格納する

で、後は添え字で任意のデータにアクセスする
447: 2018/09/01(土)11:30 ID:ghpuXsiR(1) AAS
FileRead_scanfじゃいかんの?
448
(2): 2018/09/01(土)14:32 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 ) ;
省18
449: 2018/09/01(土)14:44 ID:PENKT9BN(2/3) AAS
追記
csvファイルの最後に無駄な改行がついてたりすると配列のサイズ超えたりしがちなので注意
450: 2018/09/01(土)14:53 ID:PENKT9BN(3/3) AAS
さらに追記
csvの最後ってヌル文字で終わってないだろうから自分で足したほうがいいかも

string all;
char* path = "./hello.csv";
int size = (int)FileRead_size( path ) ;

// '\0'が無い文字列char*をstringに渡すと長さ不定でまずい
char* buffer = new char[size+1];
省6
451: 2018/09/02(日)02:13 ID:qrAMxSjg(1) AAS
Cは文字列処理が弱いからCSVParserを書くのも一筋縄にはいかんよ
452: 2018/09/03(月)04:26 ID:8cSGEO2Y(1) AAS
そしてCSVの仕様を調べて、予想以上に面倒くさいことを知る
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を開くプログラムを書いていると
省6
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ファイルを用意していても
バイナリ形式で読むプログラムを書いていれば
バイナリ形式で読むってことですか?

バイナリ形式で読むプログラムを書いた場合は
用意するファイルもバイナリ形式で保存されたファイルじゃないと
省1
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後も正常に機能するはずではないですか?
省17
467: 2018/09/07(金)15:06 ID:knV8JfdB(3/3) AAS
>>466
アーカイブは言わば「バイナリ形式」のファイルでしょ?

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

123
456
789

上記のファイルがあったとして「1行読み込む」関数を使った場合
省3
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ライブラリが用意した専用の関数でしか読み込めない
省9
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;と宣言しており、
第一、第二引数を受け取ってから要素数を決定させています。
473
(1): 2018/09/07(金)15:35 ID:SP/YWN4v(7/13) AAS
>>471
ちゃんとFileRead_readで読むプログラムに修正しました。

具体的には、
ifstream ifs(s);
while(ifs && getline(ifs,buf[line])){line++;}
の箇所を
int fh = FileRead_open(s.c_str());
省8
474: 2018/09/07(金)15:45 ID:SP/YWN4v(8/13) AAS
なぜ、FileRead_openを使ってるのに、
FileRead_openを使ってないときのバグが出るんでしょうか。
でも、archive化しなければ、FileRead_openを使ってるそれでも正常に動くのです。

引数でcsvファイルのパスを受け取っているのが問題なんでしょうか?
でも、利用するcsvファイルがいくつもあるので呼び出し命令の引数でファイルを選択してやらないと
困るんですよね。
もちろん、引数では数値を受け取り、switchで数値ごとにcsvを選択させてもいいですが、、
省8
475: 2018/09/07(金)15:48 ID:6e9JnvLB(1) AAS
それ逆じゃないのか?
476
(6): 2018/09/07(金)17:09 ID:stA8I9vh(1/2) AAS
良く分からんけど、こんな感じの事がしたいの?
void LoadData( int t_Width, int t_Height, std::string t_FileName )
{
int t_FileHandle = FileRead_open( t_FileName.c_str() );
int t_FileSize = FileRead_size( t_FileName.c_str() );
std::vector< std::vector< int > > t_MapDataVec;
int t_LoadNum = 0;
省21
477
(7): 2018/09/07(金)20:11 ID:stA8I9vh(2/2) AAS
>>473
int fh = FileRead_open(s.c_str());
while(fh && getline(fh,buf[line])){line++;}

ん?
FileRead_readとかのDXライブラリ関数じゃなくて
getlineが使われてる様だが?

例えばabc.csvを他のファイルと纏めて
省6
478: 2018/09/07(金)22:11 ID:SP/YWN4v(9/13) AAS
>>477
>getlineが使われてる様だが?

int fh = FileRead_open(s.c_str());
えっと、まずこれをした時点で、
ファイル内の文字がfhに入ってると思ってるんで
それをgetline(fh,buf[line]))するわけですから
問題ないかと思っているんですが、、私、なにか勘違いしてるのでしょうか、、
省11
479: 2018/09/07(金)22:15 ID:SP/YWN4v(10/13) AAS
>>477
あ、今気づきました、
自分FileRead_read使ってないですね、、、
FileRead_openとFileRead_readと一緒くたに考えてソース作ってしまってました。
FileRead_openもDXライブラリの関数でそれで開いてるから

DXライブラリArchiveしたファイルを開く問題はすでにクリアしたと。
480
(2): 2018/09/07(金)22:26 ID:2W2TZVJf(4/4) AAS
薄々気づいていたけど、あまりにも基本的なことがわかってなさすぎる
勘違いですらなくて、全くわかってない

int fn はただのハンドル(識別番号)だし、ファイルオープンと読み込みは違うし、アーカイブファイルについても全くわかってないし、その知識でバイナリファイルを理解できるわけがない

あんま厳しいこと言いたくないけど、拾ってきたコピペを組み合わせて作ろうと思わず
c++の基本から勉強して、一文字ずつ自分で打ち込んだほうがいい
481
(2): 2018/09/07(金)23:04 ID:SP/YWN4v(11/13) AAS
>>476
すみません、今まで使ったことない関数や表現がありますのでよかったら教えて頂けませんでしょうか、、
自分は今成長したいんで、非常に関心がありますのでぜひともお願いします。
質問1、
if( isdigit( t_Char ) != 0 )
ここの意味は、isdigitで「t_Charの(頭が)空じゃ無いなら」の認識で正解ですか?
判定関数のisdigitを利用したことないもので、、
省25
482: 2018/09/07(金)23:12 ID:SP/YWN4v(12/13) AAS
>>480
経験が浅いのは認めます、、
特に外部ファイルをいじるのと、archiveファイルについてはほんと理解度が低いです。
でも、ここでそう指摘されることも、
また私が質問させていただくことも自分が成長するひとつの事柄にはなりませんでしょうか、、
ただコピペしたいのでは無く、ソースを理解したくて>>481でも質問させて頂きました。

未熟者なのは認めます、疑問に思ったことをまず自分で検索で調べてみての質問です。
省4
483: 2018/09/07(金)23:21 ID:SP/YWN4v(13/13) AAS
>>480
C++を熟知せずとも、便利な関数のおかげで
手軽にゲームを作れる、それがDXライブラリの良さであり、
短所でもあるのだと思います。

画像を描画するのも関数ひとつです。それで表示できるので
つまずきませんでした。
でもmap情報を外部ファイルにして読むことは、つまずています。
省8
484
(1): 2018/09/07(金)23:54 ID:VUsIud2k(1) AAS
長い。

【1・2】isdigitが分からないならisdigitについて調べれば?
【3】教科書の最初に載ってるはずだが「'0'」は0という文字そのものを表す
【4】適当に数字を入れて計算してみれば?
485: 2018/09/08(土)00:37 ID:DgEMMqli(1/21) AAS
>>484
【4】適当に数字を入れて計算してみれば?

これ、今やってるんですが、目から鱗です、、、
すごい、添字の回し方、こんなシンプルな表現方法がったなんで
すごい!
486
(1): 2018/09/08(土)00:38 ID:DgEMMqli(2/21) AAS
stA8I9vhさん、天才だ、、参考書やブログで見たことないですよ、
こんな回し方してる人。
487: 2018/09/08(土)00:46 ID:DgEMMqli(3/21) AAS
>>481の4、まじでやばい質問でしたね。アホすぎる、というか
検証しろって感じですよね。ほんとすみません。

ただ、[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ]では
配列の列数と添字とが同じ値だからこそできる計算式ですね。

ちぐはぐの場合は、やはり
for(int line=0; line<y; line++){
    for(int col=0; col<x; col++){
省4
488
(1): 2018/09/08(土)00:51 ID:zhYpFAkU(1/4) AAS
>>486
やり方としては定番だよ
初心者向けの記事とかだと説明しないだけで
489: 2018/09/08(土)00:57 ID:DgEMMqli(4/21) AAS
>>488
はい、シンプルですごく驚きました。

それに、二次元配列の要素を回す場合は
これが使えるのは両方の値が同じ場合だけですよね?
自分が要する配列は添字より列数が多い場合ばかりなので
この方法は使えない。
要は>>476さんはソースの参考にということで
省2
490: 2018/09/08(土)01:05 ID:DgEMMqli(5/21) AAS
でも少しでも認めて頂けると嬉しいのです。
初心者ですが、昨今ゲーム制作においてもっともポピュラーなUnityでは無く
人口が減少しつつあるC++やDXライブラリでゲームを作ろうとしてる私のこのヤル気を。

まあ、csvのarchiveファイルから読み込む云々でモチベ下がりましたけど
なんで画像やサウンドみたくスムーズに利用できないのか、と
なんら問題なく進められたのに。。
簡単な話、DXライブラリの関数に
省2
491
(1): 2018/09/08(土)01:09 ID:zhYpFAkU(2/4) AAS
し らんがな
ね ろ
492: 2018/09/08(土)01:12 ID:DgEMMqli(6/21) AAS
>>491
この問題を考えているので寝ることができないです

t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' );
これの ( t_Char - '0' ); はなにを表しているんですか?

t_Char - '0'です。
なぜ、文字列の'0'を引く必要があるのか、知りたいのです。
493: 2018/09/08(土)01:18 ID:vg2kVoor(1) AAS
外部リンク[php]:dixq.net

外部リンク[php]:dixq.net

あっちの回答は当てにならないってか
494: 2018/09/08(土)01:28 ID:DgEMMqli(7/21) AAS
t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); の意味や
'0'がなにを表しているのか検索しようにも
現状のワードだけで検索するのは無理ですよ。。

なぜ俺が長文のプログラムでしていることを
たった一行にできているのか、さっぱりです。
495
(1): 2018/09/08(土)01:34 ID:DgEMMqli(8/21) AAS
>>476の処理なんですが
二行目のint t_FileSize = FileRead_size( t_FileName.c_str() );
をしたあと、変数t_FileSizeは一切使用されておりませんが
ここでファイルのサイズを得る必要があるのはなぜですか?

どなたかわかる方、解説おねがします。
496
(1): 2018/09/08(土)02:39 ID:38R4ypyC(1) AAS
>>495
あぁごめんね
FileSizeの部分は消して良いよ

あとシングルクォートで囲んでるのは文字を示すよ C言語の基礎ね
で、'0'~'9'までの文字コードの値は順に並んでいる事が保証されてるから
'0'を引くと整数値に変換出来る

'0' → 48
省2
497: 2018/09/08(土)02:50 ID:zhYpFAkU(3/4) AAS
まあ文字周りのの仕様から考えると決してC/C++的には正しくないんだろうけどな
やっちゃうよな
498
(1): 2018/09/08(土)03:32 ID:DgEMMqli(9/21) AAS
>>496
>FileSizeの部分は消して良いよ
ありがとうございます、FileSize、なぜ読むのか検索したり情報読んだりで
ずっと悩んでいました。必要無いんですね。

>'0' → 48
なるほど、"-48"を>>496さんは"-'0'"で表していたんですね。
勉強になりました。
省16
499
(1): 2018/09/08(土)03:46 ID:f8SOqHWR(1/3) AAS
>>498
何回か言われてたと思うんだけど
FileRead_read関数を使えば良いんじゃないの?
500: 2018/09/08(土)04:11 ID:DgEMMqli(10/21) AAS
>>499
DXライブラリのリファレンスページの
「FileRead_read」のサンプルのプログラムは
画像データの取り込みなので
FileRead_read( Buffer, FileSize, FileHandle ) ;
が配列に使えるのか、わからないのです。

int t_FileSize = FileRead_size( t_FileName.c_str() );
省3
501
(2): 2018/09/08(土)04:21 ID:f8SOqHWR(2/3) AAS
STLのstring?
それを3000個も用意する意味ないでしょ
配列やstringが何なのか分かってないとしか

やるなら
char t[ 3000 ]でしょ (要素数は3000から可変にすべきだけど)

FileRead_read( buf,FileRead_size,t_FileName );
何でファイルハンドル指定する第3匹数にstringをぶち込んでるの?
省1
502: 2018/09/08(土)04:34 ID:DgEMMqli(11/21) AAS
>>501
あ、すみません。
間違えました。

int t_FileHandle = FileRead_open( t_FileName.c_str() );
int t_FileSize = FileRead_size( t_FileName.c_str() );
string buf[3000];
FileRead_read( buf,FileRead_size,t_FileHandle );
省2
503
(1): 2018/09/08(土)04:57 ID:f8SOqHWR(3/3) AAS
string3000個もいらねーって言ってるだろーが!
バッファの先頭アドレスを指定する所にstringの実体を入れてるのも駄目だと思うけど

あと夜遅くてPC使えないとかで手元に実行環境が無いんだったら
使える様になるまで待ってみては?当てずっぽでソースコードっぽいものを書かれても困る
504
(1): 2018/09/08(土)05:41 ID:DgEMMqli(12/21) AAS
AA省
505: 2018/09/08(土)05:49 ID:DgEMMqli(13/21) AAS
結局、今夜も夜通しで進展せず朝を迎えた。
プログラムとサイトやブログとにらめっこしてました。

外部ファイル扱いの理解度が足りないせいもありますが
一番は、DXライブラリサイトのリファレンスが親切じゃないこと。
archiveファイル読み込み関数でcsvファイルを扱う場合の説明が不十分。
ifstreamやgetlineで問題なく動くプログラムをやっとこさ組めたのに。。

画像やサウンドなんてFileReadで触らずとも、それぞれ描画関数や再生関数で
省2
506
(1): 2018/09/08(土)06:26 ID:2HdjcsD1(1/3) AAS
C/C++にはString型(文字列型)なんてものは無く
std::stringクラスオブジェクトを3000個も用意するなって事でしょう
基礎の理解がおぼつかないまま先に進もうとしてめちゃくちゃになってる

DXのサンプル無くてもCのfopen/fread辺りのTXT読み込みサンプルを探して試してみて
デバッガで動きが理解できたら対応するDXライブラリのAPIに置き換えればいい
507
(2): 2018/09/08(土)06:40 ID:t6UqvRI+(1) AAS
>>504
例え話をしよう

新居を購入して、そこに引っ越し用のダンボール箱を3000個 搬入したいとする
※新居はダンボール箱3000個まで収容可能とする

でもあなたは"家"を3000個用意してる訳 おかしい事してるの、わかる?

プログラムでいうと、buf[ 0 ]のstringにデータが入ってて
buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
省4
508: 2018/09/08(土)06:46 ID:DgEMMqli(14/21) AAS
>>506
>Cのfopen/fread辺りのTXT読み込みサンプルを探して試してみて

fopen/freadあたりの扱い方が近い、ということでしょうか?
了解しました、一度確認してみます。

>>507
ものすごいわかりやすい例え話でした。。
ありがとうございます、ちょっとそれを考慮して修正してみます。
509
(2): 2018/09/08(土)09:14 ID:nuE0zfH6(1) AAS
Ruby では簡単。
Ruby, JavaScript などの動的言語を一通りやっていないと、C などポインタのある言語は無理。
言語の難易度が違いすぎる

# コロン区切りのCSV 入力ファイルを、1行ずつ処理する

input_file = "input.csv"

CSV.foreach(input_file, col_sep: ":") do |row|
puts( row[0] + row[1] )
省1
510: 2018/09/08(土)10:26 ID:zhYpFAkU(4/4) AAS
>>509
今の話題に関しては、メモリ空間を認識できるかどうかの違いでしか無くね…?
511
(1): 2018/09/08(土)22:08 ID:DgEMMqli(15/21) AAS
>>501さん
>配列やstringが何なのか分かってないとしか
>string3000個もいらねーって言ってるだろーが!
>>507さん
>buf[ 1 ] ~ buf[ 2999 ]は無駄になってる

あのうお二人にお聞きしますが、charかstringのどちらがふさわしいかは、今は置いておいて、
stringだと、buf[3000]も要らないんですよね?
省21
512
(3): 2018/09/08(土)22:19 ID:/fM1gWQu(1) AAS
完全にスレ違いなので他所に行った方がいい
個人的にはc++の教本を一から読み直すことを勧める。
初歩的なことが全くわかってない、ということをまず自覚したほうがいい
513: 2018/09/08(土)22:42 ID:DgEMMqli(16/21) AAS
あと、すみません>>476さん、
昨日からずっと>>476さんのソースを研究させて頂いてるんですけど
間違っているのではないかと思われる箇所があるんですが、
自分の思い違いなのか、書いた>>476さんにお尋ねさせてほしいのですが

//マップの配列を確保
t_MapDataVec.resize(t_Height);
for( int i = 0; i < t_Height; i++ ){
省14
514: 2018/09/08(土)22:47 ID:DgEMMqli(17/21) AAS
>>512
>初歩的なことが全くわかってない

それは>>511の内容(エラー)について
私の方が無知で責められる内容だということですか?
ご指摘頂けませんか?

「あなたが言う様に変更したらエラーが出る様になりました」
「、、お前は初歩がわかってないから消えろ」では
省2
515
(1): 2018/09/08(土)22:52 ID:DgEMMqli(18/21) AAS
>>512
もしかしてstringでは配列を作る必要がないということですか?
string buf[1];では無くstring buf;にしろと。
それはそれでエラーになるじゃないですか。
ここで↓
while(ifs && getline(ifs,buf[line])){line++;}

だからbufは配列じゃないと困るんですけど、、
516: 2018/09/08(土)22:59 ID:DgEMMqli(19/21) AAS
>>512
ちなみにこの
外部リンク:teratail.com
PAGEの質問の回答者の中に
>C++なのに、あえてmojiretuをchar配列にする理由があるのでしょうか。
>std::string mojiretu[10];
>このように定義しておけば、
省5
517: 2018/09/08(土)23:26 ID:JZkN0uf+(1/2) AAS
なんか変なのわいてんな
518
(1): 2018/09/08(土)23:29 ID:2HdjcsD1(2/3) AAS
>>515の2,3行目までは当たりなのでstd::stringクラスについてよく調べること
C/C++の話だけなら別スレに移ろう
C++相談室 part137
2chスレ:tech
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
2chスレ:tech
519: 2018/09/08(土)23:45 ID:DgEMMqli(20/21) AAS
>>518
そもそもstringクラスの話はココの人に「それでは無駄がでている」との指摘を受けて
話に出しているだけで私としては修正することでエラーが出るなら
buf[3000]で無駄が出ていようが構わいことです。

とにかく、何日も悩んでいるのは、archiveしたcsvを読むのに、
DXライブラリ関数を使っているのにビルド上は問題ないのにarchive後は正しく読まない、
その理由がわからない。
省15
520: 2018/09/08(土)23:49 ID:JZkN0uf+(2/2) AAS
甘ったれんな
1-
あと 482 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s