Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1420939171/
ゲームプログラムなら俺に聞け32(c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1441693570/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1418438785/
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/01/05(火) 23:44:29.77ID:fkNSYSkc
496名前は開発中のものです。
2018/09/08(土) 02:39:16.41ID:38R4ypyC >>495
あぁごめんね
FileSizeの部分は消して良いよ
あとシングルクォートで囲んでるのは文字を示すよ C言語の基礎ね
で、'0'~'9'までの文字コードの値は順に並んでいる事が保証されてるから
'0'を引くと整数値に変換出来る
'0' → 48
'1' → 49
'2' → 50 //以下略
あぁごめんね
FileSizeの部分は消して良いよ
あとシングルクォートで囲んでるのは文字を示すよ C言語の基礎ね
で、'0'~'9'までの文字コードの値は順に並んでいる事が保証されてるから
'0'を引くと整数値に変換出来る
'0' → 48
'1' → 49
'2' → 50 //以下略
497名前は開発中のものです。
2018/09/08(土) 02:50:26.67ID:zhYpFAkU まあ文字周りのの仕様から考えると決してC/C++的には正しくないんだろうけどな
やっちゃうよな
やっちゃうよな
498名前は開発中のものです。
2018/09/08(土) 03:32:28.47ID:DgEMMqli >>496
>FileSizeの部分は消して良いよ
ありがとうございます、FileSize、なぜ読むのか検索したり情報読んだりで
ずっと悩んでいました。必要無いんですね。
>'0' → 48
なるほど、"-48"を>>496さんは"-'0'"で表していたんですね。
勉強になりました。
ご迷惑かけまくって申し訳ありません。
あと、ひとつだけ質問させて頂いていいですか?
FileRead_openでハンドルを取得したあと、
string型のbuf配列を作って、まずは一旦そこに全部を入れ込みたいんですが
「getline(fh,buf[line])」の様な感じで使えるDXライブラリファイル読み込み関数が
判断つきません。もしかして、無い感じですか?
FileRead_getsを使って、
string buf[3000]; 
FileRead_gets( buf,3000, t_FileName ) ;
とか、いけませんか?
私は、一旦buf[]にぶち込んで、
そのあとはもうDXライブラリ関数とか必要無しの状態にして
buf[]の中を回して1文字を読み込んで二次元配列に格納していくって
処理をしたいのですが、、、、それが無理なら
やっぱり、FileRead_getcをつかって
一文字ずつ読んで格納することを考えていこうと思いますが、、
>FileSizeの部分は消して良いよ
ありがとうございます、FileSize、なぜ読むのか検索したり情報読んだりで
ずっと悩んでいました。必要無いんですね。
>'0' → 48
なるほど、"-48"を>>496さんは"-'0'"で表していたんですね。
勉強になりました。
ご迷惑かけまくって申し訳ありません。
あと、ひとつだけ質問させて頂いていいですか?
FileRead_openでハンドルを取得したあと、
string型のbuf配列を作って、まずは一旦そこに全部を入れ込みたいんですが
「getline(fh,buf[line])」の様な感じで使えるDXライブラリファイル読み込み関数が
判断つきません。もしかして、無い感じですか?
FileRead_getsを使って、
string buf[3000]; 
FileRead_gets( buf,3000, t_FileName ) ;
とか、いけませんか?
私は、一旦buf[]にぶち込んで、
そのあとはもうDXライブラリ関数とか必要無しの状態にして
buf[]の中を回して1文字を読み込んで二次元配列に格納していくって
処理をしたいのですが、、、、それが無理なら
やっぱり、FileRead_getcをつかって
一文字ずつ読んで格納することを考えていこうと思いますが、、
499名前は開発中のものです。
2018/09/08(土) 03:46:12.30ID:f8SOqHWR500名前は開発中のものです。
2018/09/08(土) 04:11:23.63ID:DgEMMqli >>499
DXライブラリのリファレンスページの
「FileRead_read」のサンプルのプログラムは
画像データの取り込みなので
FileRead_read( Buffer, FileSize, FileHandle ) ;
が配列に使えるのか、わからないのです。
int t_FileSize = FileRead_size( t_FileName.c_str() );
string buf[3000];
FileRead_read( buf,FileRead_size,t_FileName );
これでいけますか?
DXライブラリのリファレンスページの
「FileRead_read」のサンプルのプログラムは
画像データの取り込みなので
FileRead_read( Buffer, FileSize, FileHandle ) ;
が配列に使えるのか、わからないのです。
int t_FileSize = FileRead_size( t_FileName.c_str() );
string buf[3000];
FileRead_read( buf,FileRead_size,t_FileName );
これでいけますか?
501名前は開発中のものです。
2018/09/08(土) 04:21:08.99ID:f8SOqHWR STLのstring?
それを3000個も用意する意味ないでしょ
配列やstringが何なのか分かってないとしか
やるなら
char t[ 3000 ]でしょ (要素数は3000から可変にすべきだけど)
FileRead_read( buf,FileRead_size,t_FileName );
何でファイルハンドル指定する第3匹数にstringをぶち込んでるの?
訳分からん事してるよ
それを3000個も用意する意味ないでしょ
配列やstringが何なのか分かってないとしか
やるなら
char t[ 3000 ]でしょ (要素数は3000から可変にすべきだけど)
FileRead_read( buf,FileRead_size,t_FileName );
何でファイルハンドル指定する第3匹数にstringをぶち込んでるの?
訳分からん事してるよ
502名前は開発中のものです。
2018/09/08(土) 04:34:19.67ID:DgEMMqli >>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 );
これです。
これなら問題ないですか?
あ、すみません。
間違えました。
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 );
これです。
これなら問題ないですか?
503名前は開発中のものです。
2018/09/08(土) 04:57:08.51ID:f8SOqHWR string3000個もいらねーって言ってるだろーが!
バッファの先頭アドレスを指定する所にstringの実体を入れてるのも駄目だと思うけど
あと夜遅くてPC使えないとかで手元に実行環境が無いんだったら
使える様になるまで待ってみては?当てずっぽでソースコードっぽいものを書かれても困る
バッファの先頭アドレスを指定する所にstringの実体を入れてるのも駄目だと思うけど
あと夜遅くてPC使えないとかで手元に実行環境が無いんだったら
使える様になるまで待ってみては?当てずっぽでソースコードっぽいものを書かれても困る
504名前は開発中のものです。
2018/09/08(土) 05:41:44.22ID:DgEMMqli >>503
String型(文字列型)とchar型(文字型)と勉強したんで、
csvに入った長い文字列(3,12,43,34,0,32,2,....が数百並ぶとかザラです)を
入れるためにString型を用意したつもりです。
実際、エラーは出ずに今まで動いているのですが、問題になっている理由を
聞かせてください。
char型でも
while(ifs && getline(ifs,buf[line])){
line++;
} 
は正常に動くんですよね?
ちなみに3000というのは、csvの文字列がどれだけ長くても対応できるように、、
と思ってそうしているんですが、、、文字列の量によっては無駄になるメモリもありますが、、
>当てずっぽでソースコードっぽいものを書かれても困る
確かにまだ確認はしていませんが、熟練の方でしたら
どうなるのか、わかるかなと思いまして、、聞いてみました。
(確かにいちいち自分で試せばいいですが、以前予期せぬエラーというか
無限ループとか、そういう危ないエラーを食らったことがあるので
なるべく聞いて確認したい気持ちもあります)
String型(文字列型)とchar型(文字型)と勉強したんで、
csvに入った長い文字列(3,12,43,34,0,32,2,....が数百並ぶとかザラです)を
入れるためにString型を用意したつもりです。
実際、エラーは出ずに今まで動いているのですが、問題になっている理由を
聞かせてください。
char型でも
while(ifs && getline(ifs,buf[line])){
line++;
} 
は正常に動くんですよね?
ちなみに3000というのは、csvの文字列がどれだけ長くても対応できるように、、
と思ってそうしているんですが、、、文字列の量によっては無駄になるメモリもありますが、、
>当てずっぽでソースコードっぽいものを書かれても困る
確かにまだ確認はしていませんが、熟練の方でしたら
どうなるのか、わかるかなと思いまして、、聞いてみました。
(確かにいちいち自分で試せばいいですが、以前予期せぬエラーというか
無限ループとか、そういう危ないエラーを食らったことがあるので
なるべく聞いて確認したい気持ちもあります)
505名前は開発中のものです。
2018/09/08(土) 05:49:23.91ID:DgEMMqli 結局、今夜も夜通しで進展せず朝を迎えた。
プログラムとサイトやブログとにらめっこしてました。
外部ファイル扱いの理解度が足りないせいもありますが
一番は、DXライブラリサイトのリファレンスが親切じゃないこと。
archiveファイル読み込み関数でcsvファイルを扱う場合の説明が不十分。
ifstreamやgetlineで問題なく動くプログラムをやっとこさ組めたのに。。
画像やサウンドなんてFileReadで触らずとも、それぞれ描画関数や再生関数で
archiveファイルから勝手に開けるのに、、、なぜリファレンスサンプルに
テキストファイル取り上げないの、、、、、、
プログラムとサイトやブログとにらめっこしてました。
外部ファイル扱いの理解度が足りないせいもありますが
一番は、DXライブラリサイトのリファレンスが親切じゃないこと。
archiveファイル読み込み関数でcsvファイルを扱う場合の説明が不十分。
ifstreamやgetlineで問題なく動くプログラムをやっとこさ組めたのに。。
画像やサウンドなんてFileReadで触らずとも、それぞれ描画関数や再生関数で
archiveファイルから勝手に開けるのに、、、なぜリファレンスサンプルに
テキストファイル取り上げないの、、、、、、
506名前は開発中のものです。
2018/09/08(土) 06:26:04.85ID:2HdjcsD1 C/C++にはString型(文字列型)なんてものは無く
std::stringクラスオブジェクトを3000個も用意するなって事でしょう
基礎の理解がおぼつかないまま先に進もうとしてめちゃくちゃになってる
DXのサンプル無くてもCのfopen/fread辺りのTXT読み込みサンプルを探して試してみて
デバッガで動きが理解できたら対応するDXライブラリのAPIに置き換えればいい
std::stringクラスオブジェクトを3000個も用意するなって事でしょう
基礎の理解がおぼつかないまま先に進もうとしてめちゃくちゃになってる
DXのサンプル無くてもCのfopen/fread辺りのTXT読み込みサンプルを探して試してみて
デバッガで動きが理解できたら対応するDXライブラリのAPIに置き換えればいい
507名前は開発中のものです。
2018/09/08(土) 06:40:52.25ID:t6UqvRI+ >>504
例え話をしよう
新居を購入して、そこに引っ越し用のダンボール箱を3000個 搬入したいとする
※新居はダンボール箱3000個まで収容可能とする
でもあなたは"家"を3000個用意してる訳 おかしい事してるの、わかる?
プログラムでいうと、buf[ 0 ]のstringにデータが入ってて
buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あと文字列 = stringって思ってるみたいだけど
文字列って要はchar型の配列だから別にstringである必要は無いよ
文字列比較とかするつもりが無いんだったら、
std::vector< char > t_DataVec;で充分だと思うけど
例え話をしよう
新居を購入して、そこに引っ越し用のダンボール箱を3000個 搬入したいとする
※新居はダンボール箱3000個まで収容可能とする
でもあなたは"家"を3000個用意してる訳 おかしい事してるの、わかる?
プログラムでいうと、buf[ 0 ]のstringにデータが入ってて
buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あと文字列 = stringって思ってるみたいだけど
文字列って要はchar型の配列だから別にstringである必要は無いよ
文字列比較とかするつもりが無いんだったら、
std::vector< char > t_DataVec;で充分だと思うけど
508名前は開発中のものです。
2018/09/08(土) 06:46:54.61ID:DgEMMqli509名前は開発中のものです。
2018/09/08(土) 09:14:50.02ID:nuE0zfH6 Ruby では簡単。
Ruby, JavaScript などの動的言語を一通りやっていないと、C などポインタのある言語は無理。
言語の難易度が違いすぎる
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"
CSV.foreach(input_file, col_sep: ":") do |row|
puts( row[0] + row[1] )
end
Ruby, JavaScript などの動的言語を一通りやっていないと、C などポインタのある言語は無理。
言語の難易度が違いすぎる
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"
CSV.foreach(input_file, col_sep: ":") do |row|
puts( row[0] + row[1] )
end
510名前は開発中のものです。
2018/09/08(土) 10:26:18.43ID:zhYpFAkU >>509
今の話題に関しては、メモリ空間を認識できるかどうかの違いでしか無くね…?
今の話題に関しては、メモリ空間を認識できるかどうかの違いでしか無くね…?
511名前は開発中のものです。
2018/09/08(土) 22:08:22.95ID:DgEMMqli >>501さん
>配列やstringが何なのか分かってないとしか
>string3000個もいらねーって言ってるだろーが!
>>507さん
>buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あのうお二人にお聞きしますが、charかstringのどちらがふさわしいかは、今は置いておいて、
stringだと、buf[3000]も要らないんですよね?
私はbuf[3000]のbuf[ 1 ] ~ buf[ 2999 ]は無駄になってるって話でしたよね?
(私は怒っているわけではありません)
string buf[3000];をstring buf[1];に書き換えたら
ビルド後、エラーが出る様になったんですけど、、
もちろん、string buf[3000];に戻せば、正常に動きます。
どういうことでしょうか。
ちなみに私の作ったソースは>>469なんですが、
string buf[1];にしただけでエラーが出始めるということは
列数が足りてないってこと=[0]からも利用してたってことじゃないでしょうか。
お二人は、ちゃんとソースを理解して、無駄だからやめろ、と
ご指摘してくださったのかと思っていたのですが、、、
私はstring buf[];にcsvの文字を入れ込む必要があるので
念のため3000にして、いくらか余りが出てもいいくらいの思いで宣言して利用してるんで
お二人にご指摘された後、ん〜、string buf[0];でcsv内の文字列が全部格納できれば
世話ないんだけど本当かな〜、ともちょっと疑っていたんですが
先ほど試してみて、やっぱりエラーが出た、とう結果です。
>>469のソースの
while(ifs && getline(ifs,buf[line])){line++;}
ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
[3000]を[1]に変えてエラーになるということは。
>配列やstringが何なのか分かってないとしか
>string3000個もいらねーって言ってるだろーが!
>>507さん
>buf[ 1 ] ~ buf[ 2999 ]は無駄になってる
あのうお二人にお聞きしますが、charかstringのどちらがふさわしいかは、今は置いておいて、
stringだと、buf[3000]も要らないんですよね?
私はbuf[3000]のbuf[ 1 ] ~ buf[ 2999 ]は無駄になってるって話でしたよね?
(私は怒っているわけではありません)
string buf[3000];をstring buf[1];に書き換えたら
ビルド後、エラーが出る様になったんですけど、、
もちろん、string buf[3000];に戻せば、正常に動きます。
どういうことでしょうか。
ちなみに私の作ったソースは>>469なんですが、
string buf[1];にしただけでエラーが出始めるということは
列数が足りてないってこと=[0]からも利用してたってことじゃないでしょうか。
お二人は、ちゃんとソースを理解して、無駄だからやめろ、と
ご指摘してくださったのかと思っていたのですが、、、
私はstring buf[];にcsvの文字を入れ込む必要があるので
念のため3000にして、いくらか余りが出てもいいくらいの思いで宣言して利用してるんで
お二人にご指摘された後、ん〜、string buf[0];でcsv内の文字列が全部格納できれば
世話ないんだけど本当かな〜、ともちょっと疑っていたんですが
先ほど試してみて、やっぱりエラーが出た、とう結果です。
>>469のソースの
while(ifs && getline(ifs,buf[line])){line++;}
ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
[3000]を[1]に変えてエラーになるということは。
512名前は開発中のものです。
2018/09/08(土) 22:19:35.21ID:/fM1gWQu 完全にスレ違いなので他所に行った方がいい
個人的にはc++の教本を一から読み直すことを勧める。
初歩的なことが全くわかってない、ということをまず自覚したほうがいい
個人的にはc++の教本を一から読み直すことを勧める。
初歩的なことが全くわかってない、ということをまず自覚したほうがいい
513名前は開発中のものです。
2018/09/08(土) 22:42:35.24ID:DgEMMqli あと、すみません>>476さん、
昨日からずっと>>476さんのソースを研究させて頂いてるんですけど
間違っているのではないかと思われる箇所があるんですが、
自分の思い違いなのか、書いた>>476さんにお尋ねさせてほしいのですが
//マップの配列を確保
t_MapDataVec.resize(t_Height);
for( int i = 0; i < t_Height; i++ ){
t_MapDataVec[i].resize(t_Width);}
↑
ここで配列t_MapDataVecの行数はt_Height、
t_MapDataVecの要素数はt_Widthからそれぞれ決めていますよね、
ここはそれで正解なんですけど、
問題はこの後、その配列に数値を格納するときなんですが
t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum;
++t_LoadNum;
↑
これでは、行数の添え字の進み方ががおかしくなりませんか?
これ、行数と要素の添え字を両方ともt_Widthを利用して算出してます。
しかし、行数の数はさっきのresizeではt_Heightで決めています。
つまり、t_Widthとt_Heightの値とは必ず同じというわけでは無いはずなので
t_Widthだけを利用した算出方法では行数の添え字の動きに支障が出ませんか?
昨日からずっと>>476さんのソースを研究させて頂いてるんですけど
間違っているのではないかと思われる箇所があるんですが、
自分の思い違いなのか、書いた>>476さんにお尋ねさせてほしいのですが
//マップの配列を確保
t_MapDataVec.resize(t_Height);
for( int i = 0; i < t_Height; i++ ){
t_MapDataVec[i].resize(t_Width);}
↑
ここで配列t_MapDataVecの行数はt_Height、
t_MapDataVecの要素数はt_Widthからそれぞれ決めていますよね、
ここはそれで正解なんですけど、
問題はこの後、その配列に数値を格納するときなんですが
t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum;
++t_LoadNum;
↑
これでは、行数の添え字の進み方ががおかしくなりませんか?
これ、行数と要素の添え字を両方ともt_Widthを利用して算出してます。
しかし、行数の数はさっきのresizeではt_Heightで決めています。
つまり、t_Widthとt_Heightの値とは必ず同じというわけでは無いはずなので
t_Widthだけを利用した算出方法では行数の添え字の動きに支障が出ませんか?
514名前は開発中のものです。
2018/09/08(土) 22:47:12.28ID:DgEMMqli515名前は開発中のものです。
2018/09/08(土) 22:52:29.99ID:DgEMMqli >>512
もしかしてstringでは配列を作る必要がないということですか?
string buf[1];では無くstring buf;にしろと。
それはそれでエラーになるじゃないですか。
ここで↓
while(ifs && getline(ifs,buf[line])){line++;}
だからbufは配列じゃないと困るんですけど、、
もしかしてstringでは配列を作る必要がないということですか?
string buf[1];では無くstring buf;にしろと。
それはそれでエラーになるじゃないですか。
ここで↓
while(ifs && getline(ifs,buf[line])){line++;}
だからbufは配列じゃないと困るんですけど、、
516名前は開発中のものです。
2018/09/08(土) 22:59:20.13ID:DgEMMqli >>512
ちなみにこの
https://teratail.com/questions/44651
PAGEの質問の回答者の中に
>C++なのに、あえてmojiretuをchar配列にする理由があるのでしょうか。
>std::string mojiretu[10];
>このように定義しておけば、
>mojiretu[0] = s;
>mojiretu[1] = s2;
>は問題なく通ります。
とstringで配列を作ることを肯定する記載もあります。
別に、charでは無くstringで配列を作ってもダメな手では無いはずです。
ちなみにこの
https://teratail.com/questions/44651
PAGEの質問の回答者の中に
>C++なのに、あえてmojiretuをchar配列にする理由があるのでしょうか。
>std::string mojiretu[10];
>このように定義しておけば、
>mojiretu[0] = s;
>mojiretu[1] = s2;
>は問題なく通ります。
とstringで配列を作ることを肯定する記載もあります。
別に、charでは無くstringで配列を作ってもダメな手では無いはずです。
517名前は開発中のものです。
2018/09/08(土) 23:26:58.22ID:JZkN0uf+ なんか変なのわいてんな
518名前は開発中のものです。
2018/09/08(土) 23:29:17.95ID:2HdjcsD1 >>515の2,3行目までは当たりなのでstd::stringクラスについてよく調べること
C/C++の話だけなら別スレに移ろう
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1530384293/
C/C++の話だけなら別スレに移ろう
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1530384293/
519名前は開発中のものです。
2018/09/08(土) 23:45:27.10ID:DgEMMqli >>518
そもそもstringクラスの話はココの人に「それでは無駄がでている」との指摘を受けて
話に出しているだけで私としては修正することでエラーが出るなら
buf[3000]で無駄が出ていようが構わいことです。
とにかく、何日も悩んでいるのは、archiveしたcsvを読むのに、
DXライブラリ関数を使っているのにビルド上は問題ないのにarchive後は正しく読まない、
その理由がわからない。
>>477さんが指摘したDXライブラリ関数では無いgetlineも
自分で新たにbool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
とFileRead_getsを使って入れ込む関数を作っても、archive後は正常に読み込んでいない。
ここの住人さんが提示するソースを研究なり導入しても改善せず、なにがなんだかわからんのです。
私の未熟なのはわかりましたが、私のやりたいことに対して、
現在のソースの間違い個所を指摘してもらいたいんです。
未熟だ、charでは無駄が、とか正直そんなのどうでもいいですよ。
解決したいのは、archiveしたcsvを今のソースでは
正しく読んでくれないんです。どこが間違っているせいですか?
それがご相談したいことなんです。
そもそもstringクラスの話はココの人に「それでは無駄がでている」との指摘を受けて
話に出しているだけで私としては修正することでエラーが出るなら
buf[3000]で無駄が出ていようが構わいことです。
とにかく、何日も悩んでいるのは、archiveしたcsvを読むのに、
DXライブラリ関数を使っているのにビルド上は問題ないのにarchive後は正しく読まない、
その理由がわからない。
>>477さんが指摘したDXライブラリ関数では無いgetlineも
自分で新たにbool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
とFileRead_getsを使って入れ込む関数を作っても、archive後は正常に読み込んでいない。
ここの住人さんが提示するソースを研究なり導入しても改善せず、なにがなんだかわからんのです。
私の未熟なのはわかりましたが、私のやりたいことに対して、
現在のソースの間違い個所を指摘してもらいたいんです。
未熟だ、charでは無駄が、とか正直そんなのどうでもいいですよ。
解決したいのは、archiveしたcsvを今のソースでは
正しく読んでくれないんです。どこが間違っているせいですか?
それがご相談したいことなんです。
520名前は開発中のものです。
2018/09/08(土) 23:49:24.65ID:JZkN0uf+ 甘ったれんな
521名前は開発中のものです。
2018/09/08(土) 23:49:57.08ID:TBpj/0tY >>while(ifs && getline(ifs,buf[line])){line++;}
>>ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
「一旦CSVファイルの内容を全部変数に格納して、
その変数からデータを読み込みたい」って話だったでしょ?
バグってんのは、あなたがそういう仕様にコードを修正出来てないから
>>while(ifs && getline(ifs,buf[line])){line++;}
>>だからbufは配列じゃないと困るんですけど、、
bufじゃなくて、そのwhile〜の部分のコードの方を修正するって考えに何故ならない?
>>getline(ifs,buf[line])
別の掲示板の書き込みを見る限り、これあなたが独自に定義した関数でしょ?
関数の説明も無く「エラーが出るんですけど」とか言われても他人は答えられんでしょ
>>これでは、行数の添え字の進み方ががおかしくなりませんか?
おかしくないよ?具体的な数値入れて見直してね
基礎が出来てないとこんな有様になるんだねぇ…可哀想に 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
>>ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、
ということですよね??
「一旦CSVファイルの内容を全部変数に格納して、
その変数からデータを読み込みたい」って話だったでしょ?
バグってんのは、あなたがそういう仕様にコードを修正出来てないから
>>while(ifs && getline(ifs,buf[line])){line++;}
>>だからbufは配列じゃないと困るんですけど、、
bufじゃなくて、そのwhile〜の部分のコードの方を修正するって考えに何故ならない?
>>getline(ifs,buf[line])
別の掲示板の書き込みを見る限り、これあなたが独自に定義した関数でしょ?
関数の説明も無く「エラーが出るんですけど」とか言われても他人は答えられんでしょ
>>これでは、行数の添え字の進み方ががおかしくなりませんか?
おかしくないよ?具体的な数値入れて見直してね
基礎が出来てないとこんな有様になるんだねぇ…可哀想に 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
522名前は開発中のものです。
2018/09/08(土) 23:56:20.39ID:DgEMMqli そっちは本当に正解が見えているのか、いないのかわからないのに
私の相談内容外の問題ばかり指摘してくる方だろうと
レスをくれたからにはちゃんとこちらも返事しているつもりです。
私のほかの問題はどうでもいい。相談内容に対しての
perfectなご指摘が欲しいんですよ、私は。
今のところ、本当に有益だった解答は、たったひとつだけです。
>>477さんの
「DXライブラリ用のArchive作ってるのに
それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ」
だけです。
それ以外は、正直どうでもいいことです。
ソースは千差万別、実力によりピンキリでしょ?
無駄があるとか、綺麗じゃないとか、言いたいことはわかりますが
正味の話、ビルド後、思ったことができていれば問題なくないですか?
みんなが見るのはゲーム画面です。ソースじゃないんですよ。
私はブサイクな自分のソースを晒してまでご相談させて頂いてるんです。
自分のソースに対して、なぜarchive後に正常にcsvを読めなくなってしまうのか、
perfectなご指摘を、どうかお願いします。
私の相談内容外の問題ばかり指摘してくる方だろうと
レスをくれたからにはちゃんとこちらも返事しているつもりです。
私のほかの問題はどうでもいい。相談内容に対しての
perfectなご指摘が欲しいんですよ、私は。
今のところ、本当に有益だった解答は、たったひとつだけです。
>>477さんの
「DXライブラリ用のArchive作ってるのに
それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ」
だけです。
それ以外は、正直どうでもいいことです。
ソースは千差万別、実力によりピンキリでしょ?
無駄があるとか、綺麗じゃないとか、言いたいことはわかりますが
正味の話、ビルド後、思ったことができていれば問題なくないですか?
みんなが見るのはゲーム画面です。ソースじゃないんですよ。
私はブサイクな自分のソースを晒してまでご相談させて頂いてるんです。
自分のソースに対して、なぜarchive後に正常にcsvを読めなくなってしまうのか、
perfectなご指摘を、どうかお願いします。
523名前は開発中のものです。
2018/09/08(土) 23:59:02.85ID:2HdjcsD1 大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
FileRead_gets後のbufの中身はデバッガなりprintf/OutputDebugStringAで見て
正しいデータか壊れているかは確認してるよね
FileRead_gets後のbufの中身はデバッガなりprintf/OutputDebugStringAで見て
正しいデータか壊れているかは確認してるよね
524名前は開発中のものです。
2018/09/09(日) 00:05:17.98ID:/IlMVd18 >>521
あのですねgetline関数は
istream クラスのメンバー関数です。
C++の関数ですよ?
知らないんですか?
ただ、>>477さんにDX専用の関数つかえと
指摘されたので
あとでDXライブり関数を利用するgetline関数を自作しました。
それがこれです↓
bool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
で、FileRead_getsを使って入れ込む関数を作った、のに
やっぱりarchive後まだ正常に読んでくれませんでした。
だから未だに困っていますが。
あのですねgetline関数は
istream クラスのメンバー関数です。
C++の関数ですよ?
知らないんですか?
ただ、>>477さんにDX専用の関数つかえと
指摘されたので
あとでDXライブり関数を利用するgetline関数を自作しました。
それがこれです↓
bool getline2(int fh, string& s);と宣言し
bool StageDataBase::getline2(int fh, string& s)
{char buf[1024];
if (FileRead_gets(buf, sizeof buf, fh) == -1) return false;
s = buf;
return true;}
で、FileRead_getsを使って入れ込む関数を作った、のに
やっぱりarchive後まだ正常に読んでくれませんでした。
だから未だに困っていますが。
525名前は開発中のものです。
2018/09/09(日) 00:06:48.24ID:B7UDp+Nk このくそがき、コピペしてそのまま動くパーフェクト(笑)なコードよこせと駄々をこねてるんだろ?
ソース書いてやったらお礼も書かずにすたこらさっさと消えるタイプだから相手にしなくていいよ
C++入門書のメモリ管理とファイルIOの章でも100回読み返せw
ソース書いてやったらお礼も書かずにすたこらさっさと消えるタイプだから相手にしなくていいよ
C++入門書のメモリ管理とファイルIOの章でも100回読み返せw
526名前は開発中のものです。
2018/09/09(日) 00:07:01.16ID:Jspb1/om お前らのほとんどのレスが無益だったらしいぞwww
スレチなんだからスルーしとけよ
スレチなんだからスルーしとけよ
527名前は開発中のものです。
2018/09/09(日) 00:09:00.72ID:Jspb1/om 今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
528名前は開発中のものです。
2018/09/09(日) 00:09:08.60ID:/IlMVd18 >>523
>正しいデータか壊れているかは確認してるよね
もちろん、デバッグで確認して、bufじゃないですが
最終的な配列の中身を確認し、ちゃんとcvsの数値が
そのまま各要素に入っていることは確認しています。
>正しいデータか壊れているかは確認してるよね
もちろん、デバッグで確認して、bufじゃないですが
最終的な配列の中身を確認し、ちゃんとcvsの数値が
そのまま各要素に入っていることは確認しています。
529名前は開発中のものです。
2018/09/09(日) 00:10:36.82ID:Jspb1/om それ以外は、正直どうでもいいことです。
まじクソやなこいつwww
まじクソやなこいつwww
530名前は開発中のものです。
2018/09/09(日) 00:11:09.34ID:/IlMVd18531名前は開発中のものです。
2018/09/09(日) 00:14:10.09ID:Jspb1/om532名前は開発中のものです。
2018/09/09(日) 00:15:50.74ID:/IlMVd18 まあこのスレの住人も千差万別、私よりも知識がある人ばかりでも無し。
外部ファイルから読み込んだことも無い様な人もいるんでしょう。
自分は的確な回答ができない人がそうやって煽るしかできないんでしょうね。
DXライブラリでゲーム作りながらも
archiveファイルにしてない人も沢山いますから。
それどころか、ゲームを完成させたことも無い人もいるでしょうから。
外部ファイルから読み込んだことも無い様な人もいるんでしょう。
自分は的確な回答ができない人がそうやって煽るしかできないんでしょうね。
DXライブラリでゲーム作りながらも
archiveファイルにしてない人も沢山いますから。
それどころか、ゲームを完成させたことも無い人もいるでしょうから。
533名前は開発中のものです。
2018/09/09(日) 00:16:23.64ID:fsKOdpIh https://dixq.net/forum/viewtopic.php?f=3&t=20345
class MapCheck {
vector<vector<int>> Map;
int m_line, m_col;
public:
void LoadData(int y, int x, string s);
void ShowData(int y, int x);
bool getline(int fh, string& s);
};
getline を定義してやれば、そのコードで動くことを確認しました。
お前上記の掲示板でgetline独自に定義してるじゃん
お前が使ってるのはistreamクラスのメンバー関数じゃないよ
>>C++の関数ですよ?
>>知らないんですか?
何?その基礎も理解も全く出来てねーくせに喧嘩腰の言い方
もう知らネ 一生困ってろ
class MapCheck {
vector<vector<int>> Map;
int m_line, m_col;
public:
void LoadData(int y, int x, string s);
void ShowData(int y, int x);
bool getline(int fh, string& s);
};
getline を定義してやれば、そのコードで動くことを確認しました。
お前上記の掲示板でgetline独自に定義してるじゃん
お前が使ってるのはistreamクラスのメンバー関数じゃないよ
>>C++の関数ですよ?
>>知らないんですか?
何?その基礎も理解も全く出来てねーくせに喧嘩腰の言い方
もう知らネ 一生困ってろ
534名前は開発中のものです。
2018/09/09(日) 00:18:33.14ID:/IlMVd18 >>531
まともにレスってなんですか?
相談内容とはまったく違うことに目を向けてきて
「基本からやりなおせ」と指摘してくるレスですか?
相談内容とはまったく違うことに目を向けて
そこ無駄だからcherにしろ、と言うレスですか?
私は、私の相談内容を理解して
それで間違い個所を指摘してくれるレスが欲しいんですが。
まともにレスってなんですか?
相談内容とはまったく違うことに目を向けてきて
「基本からやりなおせ」と指摘してくるレスですか?
相談内容とはまったく違うことに目を向けて
そこ無駄だからcherにしろ、と言うレスですか?
私は、私の相談内容を理解して
それで間違い個所を指摘してくれるレスが欲しいんですが。
535名前は開発中のものです。
2018/09/09(日) 00:23:57.63ID:/IlMVd18 >>533
それはあなたがその掲示板を先にみて、
先入観をもってるだけでしょ。
私は、その掲示板で相談する前から
自分のソース内で
#include <iostream>してgetlineを利用しています。
その相手の方が、#include <iostream>してることを
知らないから独自に作っただけです。
私のソースではgetlineを定義せず、動いています。
あなたの勘違いですよ
それはあなたがその掲示板を先にみて、
先入観をもってるだけでしょ。
私は、その掲示板で相談する前から
自分のソース内で
#include <iostream>してgetlineを利用しています。
その相手の方が、#include <iostream>してることを
知らないから独自に作っただけです。
私のソースではgetlineを定義せず、動いています。
あなたの勘違いですよ
536名前は開発中のものです。
2018/09/09(日) 00:28:57.36ID:/IlMVd18 ひとつ、言っておきたいのですが、
私のソースは、動くんですよ?
ちゃんと完成してるんです。
ただ、releaseビルドしたあと、素材はフォルダごと
archiveしますよね?
そのarchiveしたフォルダを読むと、うまく読まないんです。
そういう相談なんです。
なのに、archiveファイルを読むのに
関係無い個所の指摘や意見をされても
その話に乗っていくと本題からそれていくので
私も困るのです。
私のソースは、動くんですよ?
ちゃんと完成してるんです。
ただ、releaseビルドしたあと、素材はフォルダごと
archiveしますよね?
そのarchiveしたフォルダを読むと、うまく読まないんです。
そういう相談なんです。
なのに、archiveファイルを読むのに
関係無い個所の指摘や意見をされても
その話に乗っていくと本題からそれていくので
私も困るのです。
537名前は開発中のものです。
2018/09/09(日) 00:34:54.50ID:fsKOdpIh >>535
記載されたソースコード見る限り
#include <iostream>してないけどね 勘違いもクソも無いだろ
>>その相手の方が、#include <iostream>してることを
>>知らないから独自に作っただけです。
意味不。
あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
記載されたソースコード見る限り
#include <iostream>してないけどね 勘違いもクソも無いだろ
>>その相手の方が、#include <iostream>してることを
>>知らないから独自に作っただけです。
意味不。
あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
538名前は開発中のものです。
2018/09/09(日) 00:36:31.83ID:/IlMVd18 素材フォルダをarchiveしなければ、
素材フォルダと実行ファイルとでもう動くんです。
ただ、素材フォルダをarchiveしたいと思ったから
>>477さんのおかげで、archiveしたファイルを扱うなら
DXライブラリ関数にしなければならない、とアドバイスを受け
読み込み部分のプログラムを修正しなければならないと知りました。
で、今、いろいろやってるんですが、正しく読み込まない、
なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。
そういう現状なんです。
どうか、このバカめに、知識人様のお知恵を貸しください。
どこが間違っているのかの、ご指摘がほしいのです。
素材フォルダと実行ファイルとでもう動くんです。
ただ、素材フォルダをarchiveしたいと思ったから
>>477さんのおかげで、archiveしたファイルを扱うなら
DXライブラリ関数にしなければならない、とアドバイスを受け
読み込み部分のプログラムを修正しなければならないと知りました。
で、今、いろいろやってるんですが、正しく読み込まない、
なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。
そういう現状なんです。
どうか、このバカめに、知識人様のお知恵を貸しください。
どこが間違っているのかの、ご指摘がほしいのです。
539名前は開発中のものです。
2018/09/09(日) 00:42:03.51ID:Jspb1/om 厨房はそろそろ寝る時間だぞ
ママンに怒られっぞ
ママンに怒られっぞ
540名前は開発中のものです。
2018/09/09(日) 00:52:21.26ID:/IlMVd18 >>537
>あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
まあ、どういう状況かはこのスレに書いてきたんですが
途中から来た貴方に私が過去レスを見てくれというのも
おこがましいので、貴方のために説明します。
経緯は>>538です
で、私のもともとのソースは
>>469です。
これがarchiveファイルにしていなければ正常にcsvファイルの中身を
Map配列に入れ込める関数です。
この段階のgetline関数はiostreamの関数です。
そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。
まあ要は、
このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。
ピンポイントで修正個所を言ってくれる人はほとんどおらず、
別の部分をいろいろご指摘されたわけですが。
で、次にDXライブラリ関数を使って
自分なりに完成させたソースを貼りますね
>あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
まあ、どういう状況かはこのスレに書いてきたんですが
途中から来た貴方に私が過去レスを見てくれというのも
おこがましいので、貴方のために説明します。
経緯は>>538です
で、私のもともとのソースは
>>469です。
これがarchiveファイルにしていなければ正常にcsvファイルの中身を
Map配列に入れ込める関数です。
この段階のgetline関数はiostreamの関数です。
そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。
まあ要は、
このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。
ピンポイントで修正個所を言ってくれる人はほとんどおらず、
別の部分をいろいろご指摘されたわけですが。
で、次にDXライブラリ関数を使って
自分なりに完成させたソースを貼りますね
541名前は開発中のものです。
2018/09/09(日) 00:54:20.16ID:/IlMVd18542名前は開発中のものです。
2018/09/09(日) 01:10:26.39ID:WZz40CCH 夜通しやって昼間やらないんじゃ逆効果だろ
自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要
ただし煽り猿は気にしなくていい
自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要
ただし煽り猿は気にしなくていい
543名前は開発中のものです。
2018/09/09(日) 01:12:00.66ID:B7UDp+Nk じゃあもうアーカイブするなよw それで解決じゃんwww
544名前は開発中のものです。
2018/09/09(日) 01:24:13.78ID:igBBjSKe まず、>477の前に俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい
あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから
間違いの一例をあげると
>int fh = FileRead_open(s.c_str());
>ファイル内の文字がfhに入ってると思ってるんで
これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる
型も入出力も全くわかってない上に、DXライブラリのリファレンスを読む気まるで無しなので、何を説明しても通じない
しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる
もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、
DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて
FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく
あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから
間違いの一例をあげると
>int fh = FileRead_open(s.c_str());
>ファイル内の文字がfhに入ってると思ってるんで
これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる
型も入出力も全くわかってない上に、DXライブラリのリファレンスを読む気まるで無しなので、何を説明しても通じない
しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる
もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、
DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて
FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく
545名前は開発中のものです。
2018/09/09(日) 01:26:16.05ID:OabHqojG >>大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
>もちろん、デバッグで確認して、bufじゃないですが
>最終的な配列の中身を確認し、ちゃんとcvsの数値が
>そのまま各要素に入っていることは確認しています。
アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら
Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい
Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから
>もちろん、デバッグで確認して、bufじゃないですが
>最終的な配列の中身を確認し、ちゃんとcvsの数値が
>そのまま各要素に入っていることは確認しています。
アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら
Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい
Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから
546名前は開発中のものです。
2018/09/09(日) 01:36:18.09ID:/IlMVd18 >>542
本当にその通りです、
この生活を繰り返してたら剥げそうです
優しい言葉に涙が出そうです。
連投したこと、反省します。
>>544
>俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい
はい、実は>>522を書き込んだあとに過去スレ見返して
あなたが真っ先にperfectな回答をくださってると気づきました。
すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。
あと、あなたのご指摘が胸に刺さりました。
プログラマに向いてない性格の自分を再確認させられました。
実は私はプログラマに向いてないのに無理やり頑張っていた人間で
ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。
私はすべて独学ですので、まともに学んだとは言えません。
>もうきりがないので究極にパーフェクトな答えをピンポイントで書く
ありがとうございます。
それをちゃんと実行して、考えたいと思います。
>>レスくれた皆様がた
皆様、もう一回初心にかえり
リファレンスとにらめっこしてまいります。
ご迷惑おかけして申し訳ありませんでした。
失礼します。
本当にその通りです、
この生活を繰り返してたら剥げそうです
優しい言葉に涙が出そうです。
連投したこと、反省します。
>>544
>俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい
はい、実は>>522を書き込んだあとに過去スレ見返して
あなたが真っ先にperfectな回答をくださってると気づきました。
すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。
あと、あなたのご指摘が胸に刺さりました。
プログラマに向いてない性格の自分を再確認させられました。
実は私はプログラマに向いてないのに無理やり頑張っていた人間で
ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。
私はすべて独学ですので、まともに学んだとは言えません。
>もうきりがないので究極にパーフェクトな答えをピンポイントで書く
ありがとうございます。
それをちゃんと実行して、考えたいと思います。
>>レスくれた皆様がた
皆様、もう一回初心にかえり
リファレンスとにらめっこしてまいります。
ご迷惑おかけして申し訳ありませんでした。
失礼します。
547名前は開発中のものです。
2018/09/09(日) 02:04:50.28ID:p4JqI5Xf スレが活発なのは嬉しい
548名前は開発中のものです。
2018/09/09(日) 02:50:42.98ID:YiB/2DVS549名前は開発中のものです。
2018/09/09(日) 03:59:58.45ID:B7UDp+Nk プログラマ向いてないのとまともに学んでないのはソース見てわかったよ
こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし
こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし
550名前は開発中のものです。
2018/09/09(日) 06:51:24.71ID:Azvx/JNZ 俺かなり真剣に考えてレスしたはずなのに
有益ではないと断言されてしまった
有益ではないと断言されてしまった
551名前は開発中のものです。
2018/09/09(日) 07:06:14.25ID:aEJipmjc というか、>>546はちゃんとデバッグしてる?
ステップ実行とかすれば簡単に原因が分かるはずだが?
「アーカイブにした途端読み込まない」って
十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき
大方、下記の状態の時に
f.open("data.csv");とか
f.open("csv/data.csv");とかやってんだろうけど
■Test
┣Archive.dxa
┗game.exe
ステップ実行とかすれば簡単に原因が分かるはずだが?
「アーカイブにした途端読み込まない」って
十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき
大方、下記の状態の時に
f.open("data.csv");とか
f.open("csv/data.csv");とかやってんだろうけど
■Test
┣Archive.dxa
┗game.exe
552名前は開発中のものです。
2018/09/09(日) 17:54:46.31ID:BNO7fyNj デバックで問題点をぼりこむスキルもないのに、
いきなりゲームを作ろうとするからだよw
そもそもスキル足らない人間の質問なんて要領得ないし、
自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる
アホさ加減にすら気がついてない。
いきなりゲームを作ろうとするからだよw
そもそもスキル足らない人間の質問なんて要領得ないし、
自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる
アホさ加減にすら気がついてない。
553名前は開発中のものです。
2018/09/09(日) 18:07:35.28ID:6GoioEmY だから、Ruby から始めればよい。
大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw
>プログラマに向いてない
C/C++ などポインタのある言語は、
人間には無理なことをやらしているのだから、向いていないのは当たり前。
君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う!
漏れは、10言語以上やってるけど、
動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。
人間から離れて、機械に近づいていくから、だんだん無理になっていく
C++ なんて、1万人に1人とかだから、もっと無理。
数年山籠もりが普通
慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。
授業でC を教えるのはおかしい。
Rubyから始めるべきだって!
C/C++が必要だからって、勉強をC/C++から始める必要はない。
ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い
動的言語から始めて、プログラミング・システムの基礎を学ぶべき
大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw
>プログラマに向いてない
C/C++ などポインタのある言語は、
人間には無理なことをやらしているのだから、向いていないのは当たり前。
君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う!
漏れは、10言語以上やってるけど、
動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。
人間から離れて、機械に近づいていくから、だんだん無理になっていく
C++ なんて、1万人に1人とかだから、もっと無理。
数年山籠もりが普通
慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。
授業でC を教えるのはおかしい。
Rubyから始めるべきだって!
C/C++が必要だからって、勉強をC/C++から始める必要はない。
ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い
動的言語から始めて、プログラミング・システムの基礎を学ぶべき
554553
2018/09/09(日) 18:15:12.16ID:6GoioEmY ゲームプログラマになる前に覚えておきたい技術、平山 尚、2008
これは大賞も取った、俗に言う「セガ本」だけど、
セガの入社試験を受ける前に、読んでおいて下さいって言うけど、
これだけでも、マスターしている人は、セガにほとんどいないだろうw
何歳までに始める言語とか、この手の本も、全く簡単じゃない
この手のタイトルの本を、信用しない方がよい。
C/C++ なんて、簡単に学べるわけがないから!
これは大賞も取った、俗に言う「セガ本」だけど、
セガの入社試験を受ける前に、読んでおいて下さいって言うけど、
これだけでも、マスターしている人は、セガにほとんどいないだろうw
何歳までに始める言語とか、この手の本も、全く簡単じゃない
この手のタイトルの本を、信用しない方がよい。
C/C++ なんて、簡単に学べるわけがないから!
555553
2018/09/09(日) 18:25:07.50ID:6GoioEmY >>509
Ruby では、これだけで、CSV ファイルを読み込める。
動的言語では、ファイルI/O なんて読み書きできて当たり前!
ポインタのある言語をやるから、難しくて出来ない
動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
言語の難易度が違う
なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した
Ruby では、これだけで、CSV ファイルを読み込める。
動的言語では、ファイルI/O なんて読み書きできて当たり前!
ポインタのある言語をやるから、難しくて出来ない
動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
言語の難易度が違う
なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した
556553
2018/09/09(日) 18:41:50.91ID:6GoioEmY >動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
>ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
例えれば、君はヒマラヤ登山をする初心者w
絶対に無理なのが、わかるよね
まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ
まず10年は、コンピューターシステム・プログラミングの方法を学ぶ
>ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき
例えれば、君はヒマラヤ登山をする初心者w
絶対に無理なのが、わかるよね
まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ
まず10年は、コンピューターシステム・プログラミングの方法を学ぶ
557名前は開発中のものです。
2018/09/09(日) 18:43:42.20ID:Azvx/JNZ Cは別にヒマラヤじゃない
558名前は開発中のものです。
2018/09/09(日) 18:45:04.52ID:Azvx/JNZ あ、すまん、荒らしにレスしちまった……
559名前は開発中のものです。
2018/09/09(日) 19:03:52.04ID:8HszjCC2 >>char buf[1024];
>>if (FileRead_gets(buf, sizeof buf, fh) == -1)
あと高確率で勘違いしてるだろうから
ついでに上記のsizeofについてもダメ出ししとく
sizeof演算子を配列に使用した場合、
得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない
多分、要素数が求められると思ってるでしょ?
char型はどの処理系でも1バイトだからたまたま問題なく動くけど
配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる
>>if (FileRead_gets(buf, sizeof buf, fh) == -1)
あと高確率で勘違いしてるだろうから
ついでに上記のsizeofについてもダメ出ししとく
sizeof演算子を配列に使用した場合、
得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない
多分、要素数が求められると思ってるでしょ?
char型はどの処理系でも1バイトだからたまたま問題なく動くけど
配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる
560名前は開発中のものです。
2018/09/09(日) 20:35:51.38ID:Jspb1/om そのsiseofの使い方はなんら問題はない
なぜなら関数はバイト数を入力されることを期待しているから
突っ込みどころはそこじゃない
なぜなら関数はバイト数を入力されることを期待しているから
突っ込みどころはそこじゃない
561名前は開発中のものです。
2018/09/09(日) 21:35:34.64ID:o9Esn6eC あホントだ この関数はサイズ指定でいいのか すまぬ
しかし「int型に文字列のデータが入っている」と思うレベルで
ゲームを完成させたというのなら逆に凄いと思うわ
しかし「int型に文字列のデータが入っている」と思うレベルで
ゲームを完成させたというのなら逆に凄いと思うわ
562553
2018/09/09(日) 22:00:07.53ID:6GoioEmY ファイルの読み込みなどは、C でやらない。
Lua, Squirrel などの動的言語を使う
本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない
Lua, Squirrel などの動的言語を使う
本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない
563名前は開発中のものです。
2018/09/09(日) 23:03:21.18ID:B7UDp+Nk マジかよRubyてゴミだな
564553
2018/09/11(火) 00:00:02.94ID:ROgWPLgp デバッガーを使って、1行ずつ、デバッグすれば?
それか、Rubyみたいに各行に、Print文を入れていく
p 0
文1
p 1
文2
p 2
これで、どこまで処理が進んだかわかる
例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる
それか、Rubyみたいに各行に、Print文を入れていく
p 0
文1
p 1
文2
p 2
これで、どこまで処理が進んだかわかる
例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる
565名前は開発中のものです。
2018/09/11(火) 13:59:01.43ID:KgRZ3rsd 本当の入門用言語はPYTHONだと思う
566名前は開発中のものです。
2018/09/13(木) 00:54:18.17ID:OVIBOeJk sp4用のDXライブラリ使いたいのに、自由に使わしてもらえないの?
DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?
DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?
567名前は開発中のものです。
2018/09/13(木) 00:54:55.89ID:OVIBOeJk ごめん、ps4ね
568名前は開発中のものです。
2018/09/13(木) 01:21:08.56ID:8MyNpCBt PS4に限らず、CS向けの開発資料関係はソニーと要契約だし、
PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。
いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。
おそらくOSSにはならないと言うかなれないと思うよ。
PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。
いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。
おそらくOSSにはならないと言うかなれないと思うよ。
569名前は開発中のものです。
2018/09/14(金) 01:05:52.78ID:Iy4HGXit CS開発にDXライブラリの知識や資産が活かせるってだけであって
DXライブラリを使えばCS開発ができるという意味ではないからなあ
DXライブラリを使えばCS開発ができるという意味ではないからなあ
570名前は開発中のものです。
2018/09/14(金) 05:06:48.74ID:NxI6was4 勝手にPS4のアプリ作るのは法的に無理だよね
571名前は開発中のものです。
2018/09/14(金) 10:29:51.74ID:Iy4HGXit 定期的に同じような質問見る気がする
572名前は開発中のものです。
2018/09/14(金) 10:44:49.19ID:DNWN2h3R 結局この前のやつはアーカイブから読み込めたのかね
教えてクレクレ君は大体が初歩的な内容をマルチポストして
解決するか挫折するかして失踪するから困る
基礎を学ぶ気が無いんだったら◯◯ツクールとかの製作支援ソフトでも使ってりゃいいのに
教えてクレクレ君は大体が初歩的な内容をマルチポストして
解決するか挫折するかして失踪するから困る
基礎を学ぶ気が無いんだったら◯◯ツクールとかの製作支援ソフトでも使ってりゃいいのに
573名前は開発中のものです。
2018/09/14(金) 13:16:02.99ID:W0Rg80rW PS4の開発機材要るしね。実行環境なければソフトウェアだけではどうにもらなん。
574名前は開発中のものです。
2018/09/15(土) 02:17:37.10ID:/xcvtQHo C/C++ は、ポインタがある言語だから、難しい
機械に近い言語だから、人間の感覚に合わない。
一つ一つのチェックに、時間が掛かる
機械に近い言語だから、人間の感覚に合わない。
一つ一つのチェックに、時間が掛かる
575名前は開発中のものです。
2018/09/15(土) 03:22:43.38ID:i4O38UTc ポインタがあると思うから難しく感じるねん。
基本がポインタで、int や char が特別やねん。
基本が malloc で、配列が特別やねん。
ほんでその特別な方で済むならそっち使えばええ言語やねん。
思い込んでるほど難しいもんやあらへん。
C++ はそれにたくさんもっと約束事を追加してるもんで、
覚えるのは大変やけど、それ覚えたらプログラマ同士でより複雑なプログラミングも可能になるわけや。
C が三角ベースなら、C++ ベースボールやんな。
そこまで構えんでええ。独習シリーズ買ってあとは必要に応じて参考書買えば大丈夫、大丈夫。
基本がポインタで、int や char が特別やねん。
基本が malloc で、配列が特別やねん。
ほんでその特別な方で済むならそっち使えばええ言語やねん。
思い込んでるほど難しいもんやあらへん。
C++ はそれにたくさんもっと約束事を追加してるもんで、
覚えるのは大変やけど、それ覚えたらプログラマ同士でより複雑なプログラミングも可能になるわけや。
C が三角ベースなら、C++ ベースボールやんな。
そこまで構えんでええ。独習シリーズ買ってあとは必要に応じて参考書買えば大丈夫、大丈夫。
576名前は開発中のものです。
2018/09/15(土) 06:09:43.23ID:GOhxd3by ポインタを難しいと全く思わなかったせいか
人に教えるときも、どうもそのへんの感覚が分からんのよねぇ
人に教えるときも、どうもそのへんの感覚が分からんのよねぇ
577名前は開発中のものです。
2018/09/16(日) 07:09:58.40ID:pTuyxRHX ダブルポインタ、スマートポインタ、constポインタ、const変数へのポインタ、関数ポインタとか
色々あるけど、別に「理解不能」とはならなかったな
ポインタで詰まってる人ってどこで詰まってるんだろね
色々あるけど、別に「理解不能」とはならなかったな
ポインタで詰まってる人ってどこで詰まってるんだろね
578名前は開発中のものです。
2018/09/16(日) 07:23:34.15ID:Ypv+ZU15 ポインタにつまづかなかった俺ドヤァwwww
579名前は開発中のものです。
2018/09/16(日) 08:01:05.65ID:De/NLTEL 入門書を読んで理解して無理のない使い方するだけなら簡単だろう。
理解が難しい書き方も出来るから、そういうコードを見た時に難しいと感じるんだろう。
あるいは全く意識しない書き方も出来るからこそ、なぜポインタなんてものがあるのか?と理解に苦しむパターン。
理解が難しい書き方も出来るから、そういうコードを見た時に難しいと感じるんだろう。
あるいは全く意識しない書き方も出来るからこそ、なぜポインタなんてものがあるのか?と理解に苦しむパターン。
580名前は開発中のものです。
2018/09/16(日) 10:49:36.24ID:P4oQMMdm 言語の機能が極端に少ない・足りないのをポインタという裏技でどうにかするのがCやで
むしろなぜド素人がCなんて使うのか?と理解に苦しむパターン。
むしろなぜド素人がCなんて使うのか?と理解に苦しむパターン。
581名前は開発中のものです。
2018/09/16(日) 11:38:54.49ID:De/NLTEL >>580
は?俺Cとかめっちゃ使えるしド玄人なのになんで勝手に文脈を誤解されてド素人言われなければいけないのか理解に苦しむパターンだわこれはマジでむしろ理解に苦しむパターンの理解に苦しんでるパターンだろ。
なんで理解してないのに理解に苦しむパターンを勝手に使うのか理解に苦しむパターン。
は?俺Cとかめっちゃ使えるしド玄人なのになんで勝手に文脈を誤解されてド素人言われなければいけないのか理解に苦しむパターンだわこれはマジでむしろ理解に苦しむパターンの理解に苦しんでるパターンだろ。
なんで理解してないのに理解に苦しむパターンを勝手に使うのか理解に苦しむパターン。
582名前は開発中のものです。
2018/09/17(月) 01:27:36.34ID:vd6LnlZ9 ダブルポインタとか言ってるやつは人間として信用しない
583名前は開発中のものです。
2018/09/17(月) 03:27:40.68ID:Ho87M1a1 STLやポインタが難しいって20年も昔の話だろw
関数ポインタとか、ポインタのポインタとか、C#とか他の言語でも息を吸うように使われてるよ
関数ポインタとか、ポインタのポインタとか、C#とか他の言語でも息を吸うように使われてるよ
584名前は開発中のものです。
2018/09/17(月) 15:20:02.16ID:BMRQtvdo 言うだけなら簡単だな
585名前は開発中のものです。
2018/09/17(月) 15:46:10.87ID:VSI4gd1E Cだとポインタ使わずに書くのが難しい処理があるのは事実で、
それに慣れた使用者にポインタは難しいとか他言語にポインタはないとか言っておけば耳障りはいいし、他言語を自由度の低いものとして恐れるようになる。
つまりC言語帝国主義者の陰謀でポインタに関するデマが広められているだけなので要注意。
それに慣れた使用者にポインタは難しいとか他言語にポインタはないとか言っておけば耳障りはいいし、他言語を自由度の低いものとして恐れるようになる。
つまりC言語帝国主義者の陰謀でポインタに関するデマが広められているだけなので要注意。
586名前は開発中のものです。
2018/09/17(月) 19:01:30.66ID:Ho87M1a1 C/C++入門書なんかよりJavaやC#から始めた方がポインタの理解が早いかもな
587名前は開発中のものです。
2018/09/17(月) 23:32:18.21ID:no51r4yq 俺みたいに機械語から始めれば何の問題もないぞ
588名前は開発中のものです。
2018/09/18(火) 12:42:02.12ID:MRDcFzMt ゲーム作るのが目的だし、PCの性能も上がってるから
スクリプト言語のような動的な言語もありだし、JavaやC#から入っても良いだろう。
ただまあ、DXLibのスレでC/C++の文句言うなら他をあたりんさいとしか言えんがな。
ただスクリプト言語用のゲームライブラリってそれなりにあるけど、開発が止まってたり、
LGPLだったりと別の意味で使い勝手が難しいものが多いね。
スクリプト言語のような動的な言語もありだし、JavaやC#から入っても良いだろう。
ただまあ、DXLibのスレでC/C++の文句言うなら他をあたりんさいとしか言えんがな。
ただスクリプト言語用のゲームライブラリってそれなりにあるけど、開発が止まってたり、
LGPLだったりと別の意味で使い勝手が難しいものが多いね。
589名前は開発中のものです。
2018/09/22(土) 13:20:02.79ID:L7dCqgo4 >>588
で?
で?
590名前は開発中のものです。
2018/09/22(土) 14:25:07.09ID:rXdDPTp0 むしろその「で?」が「で?」なんだけど
591名前は開発中のものです。
2018/09/23(日) 20:17:26.20ID:MVPE/aAC もう一度言っておくが俺みたいに機械語から始めれば何の問題もないぞ
592名前は開発中のものです。
2018/09/24(月) 08:44:38.25ID:6PeQ428x 機械語ってなんだよw機械は言葉喋らねーよ!www
593名前は開発中のものです。
2018/09/24(月) 08:59:34.99ID:7+TiRmEX 機械語を知らないのかネタなのか、判断に困るのである
機械語は難しいというより面倒臭そうなイメージ
機械語は難しいというより面倒臭そうなイメージ
594名前は開発中のものです。
2018/09/26(水) 08:58:12.16ID:ZwDt4G1d もう機械語を知らない世代なんだね
595名前は開発中のものです。
2018/09/26(水) 10:15:27.11ID:JfxWWzQx 【天文台閉鎖、FBI】 アポロ捏造のキューブリックも真っ青、太陽に映ったのはマ@トレーヤのUFO
http://rosie.5ch.net/test/read.cgi/liveplus/1537840672/l50
おまいらが注目しないから宇宙人は出てこれない、その結果、地球の放射能危機がどんどん進んでしまう!
http://rosie.5ch.net/test/read.cgi/liveplus/1537840672/l50
おまいらが注目しないから宇宙人は出てこれない、その結果、地球の放射能危機がどんどん進んでしまう!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★2 [ごまカンパチ★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、来年3月末まで「当面の措置」外交情勢によって見直しも★2 [1ゲットロボ★]
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…1万円以下の輸入品にも消費税を課す方針★2 [1ゲットロボ★]
- トランプ氏、高市首相との電話会談を評価 [少考さん★]
- 【福岡】注射器に入れた体液を17歳の少女に発射 「自分の性的欲求を満たすため…」22歳アルバイトの男を逮捕 [nita★]
- 【・(ェ)・】「くまちゃんがいた」散歩中の2歳園児が発見 クリ林に1頭のクマ…保育士「ワンちゃんだね…」と声かけて移動 [Ailuropoda melanoleuca★]
- 【高市悲報】今月のHanada、WiLLの愛国2誌の表紙がこちら🤩 [359965264]
- たぬかなはん、ちょっとクズすぎなんじゃね? [267550838]
- おまえら銀行口座何個ある?
- 【悲報】高市早苗「馬車馬のように働いて働いて働いて働いて働いて働いて働いて働いて働いて働いて…」👈結果… [522666295]
- 朝から東京東側だと押上に住みたくて咽び泣いてる😭
- 催涙スプレーで強盗障害事件を起こしたバカ・タケオ・ケビン容疑者を逮捕
