スペース区切りのデータ読み込み – 固定ページ 2 – プログラミング – Home

スペース区切りのデータ読み込み
 
通知
すべてクリア

[解決済] スペース区切りのデータ読み込み

固定ページ 2 / 2

PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

Assertionが出ているのであれば、もっと詳しくわかってもよいと思います。
というか、せっかくAssertionが出ているのですから有効活用しましょう。

問題のDumpout.cppの位置にコメントがあると思います。
そのコメントの内容がまずヒントになります。

あと、Assertionが出て止まった時に関数の呼び出し履歴を確認してみてください。
VC++6.0ならコールスタックとなっているかもしれませんけれど。
ここをたどることでどの呼び出し時にAssertionが出ているのか把握できるはずです。

まずは状況をできるだけ正確に把握しましょう。
内容を検討するのはそれからです。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

あと入力データのフォーマットに関してはそのファイルを提供する先の
事情が許すならできる限り取込負荷が少なくなるように設計した方がよいです。
ITOさんが書かれているように固定長データなら取込は格段に楽になります。
逆に可変長のデータを扱う時はその分だけ色々を考える必要があります。
もっとも今回は最大でも3ケタと決まっているなら負担はかなり減ると思いますけれど。


返信引用
ryo
 ryo
(@ryo)
ゲスト
結合: 23年前
投稿: 252
 

>内容としては、Debag Assertion Failed!というメッセージが出てきております。
>Dumpout.cppというファイルです。
たぶん、コレがビンゴかと
↓参照URL   
http://www.dinop.com/vc/trace_512.html

ついで、「なんらかの区切り文字ごとに文字列をきりわけたい」ならコレ便利。
CStringT::Tokenize
http://msdn.microsoft.com/ja-jp/library/k4ftfkd2(VS.80).aspx
(VC6時代のMSDNはオンライン上に見つからなかった)


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

VC++6 の頃の CString には Tokenize が無いんで、見つからなくて当然。

っていうかフツーに fopen して fscanf していきゃ一番楽なんぢゃ・・・
スペース区切りなら何も考えずに fscanf(%d, &data[i]); でいけるはず。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

中で使われているAfxExtractStringって関数ですけれど、
非公開な関数なんですかねぇ。
VC++6.0のMSDNで見ても出て来ないし、ネットで検索しても引っかからないんですけど。
ドキュメント化されていない関数なら積極的には使わない方が良さそうな気もします。
まあ、取り込むファイルにイレギュラーがあった時の対応を厳密にしないなら
fscanfを使う手もあるでしょうし、きちんとエラー処理したいならCString::Find等を
使って自分で分解と言う手もあるでしょう。
結局の所、何処まで厳密にエラー処理をするのかによると思います。
想定したフォーマットから外れたデータが渡された時にそんなデータ渡す方が悪いから動
作は保証しないとするのか、
出来る限りフォーマットの解析を行っておかしな時はエラーとして返すのか。

求められている物の内容によるかなと。
フォーマットが間違っている時は使う方で対処するから特に気にしなくて良いなら楽ですが、
もらったファイルのどの位置にどういうおかしな部分があると言うところまでエラーとし
て出せと言う話ならそれなりに考えないと駄目でしょう。


返信引用
ばにら
 ばにら
(@ばにら)
ゲスト
結合: 14年前
投稿: 16
Topic starter  

ひとまず、

fin.ReadString( str );
for( i = 0; i < MAX; i ++ ){
strResult = str.SpanExcluding( );
strLen = strResult.GetLength();
str.Delete( strLen + 1 );
}

で解決できました。ストリーム入出力はまだ勉強不足ですが、今回アドバイスを頂いた
ことで引き出しが増えたと思います。
Assertionも今まで意味がわからなかったのですが、これからは活用して行きたいです。


返信引用
sdf
 sdf
(@sdf)
ゲスト
結合: 14年前
投稿: 1
 

譌・


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました