おはようございます。
ほかの人の質問をみての質問なのですけど、
リストビューにカンマで区切られたテキストファイルを
割り当てることってできるのですか?
お教え願いたいのですがよろしくお願いします。
簡単に出来ますよ。。
取得したテキストを文字列に変換して表示させるだけで出来ます。
お早いご返答ありがとうございます。
申し訳ありませんがもう少し具体的に
お教えいただけないでしょうか。
私では理解しかねますので・・・
この人出来たらしいからきいてみては。
http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200604/06040067.txt
意外と簡単だったらしいから。
。さん了解しました。
ちなみにほかの人の質問をみての質問と
最初に言いましたけどこの人の質問でした。
Sugiさんにご指導をお願いしてみます。
どこまで出来ているのでしょうか?
具体的に
1. ファイルを1行ごと読み込む
2. 1行のデータをカンマ区切りにして分割する
3. 分割されたデータをリストビューに追加する
のどれがわからいのでしょうか?
それと、開発環境によって回答が変わるので、必ず明記しましょう。
・OS
・VCのバージョン
・プロジェクトの種類
例)WindowsXp Pro SP2/VC++6.0 Stand SP6/MFC Application ダイアログ
わかりにくくて申し訳ありませんでした。
開発環境:WindowsXp Pro SP2/VC++6.0/MFC/ダイアログベース
私がやろうとしているのファイルを1行ごとに読み込む方法を
まだ理解していないので、アイテムの追加のときにカンマで区
切ってある文字をそれぞれ変数に代入させて表示させようと思
っています。
VCの質問ではなくCの質問になるかと思いますがお教えいただ
けないでしょうか。
Blueさんの
>1. ファイルを1行ごと読み込む
>2. 1行のデータをカンマ区切りにして分割する
>3. 分割されたデータをリストビューに追加する
この方法のやりかたも出来ればお教えいただけますか?
追伸
カンマで区切ったテキスト以外は読み込めても
読み込めなくてもどちらでも良いと思っています。
とりあえず今はカンマで区切ったテキストファイルを
読み込んで表示させてみたいのです。
> ファイルを1行ごとに読み込む方法
テキストファイルであれば、CStdioFileクラスを使いましょう。
ReadStringで1行ごと読み込めますのでそれを使います。
詳しくは MSDN(ヘルプ)やネットで調べてみてください。
ファイルを1行ごとに読み込む方法は理解しました。
先ほどの質問のカンマで区切ってある文字をそれぞれ
変数に代入させる方法をお教えいただけないでしょうか。
CStringのFindメソッドとMidメソッドを上手いこと使って
文字列分割してください。
出来ているところまでのソースを提示してもらえると具体的なアドバイスが出来ますので。
MFCでカラムにカンマで区切ったテキストを割り当てるプログラムです。
static const char *split_normal(const char *l, CString &r)
{
r.Empty();
while ( *l ) {
if ( _ismbblead( *l ) ) {
r += *l++;
r += *l++;
} else if ( *l == ',' ) {
l++;
break;
} else {
r += *l++;
}
}
return l;
}
void dsCSVSplit(const char *line, CStringArray &sa)
{
sa.RemoveAll();
while ( *line ) {
CString clm;
if ( *line == '"' )
line = split_dbl( line + 1, clm );
else
line = split_normal( line, clm );
sa.Add( (const char *)clm );
}
}
これで出来ました。
意見があればお願いします。
http://denchu.jp/tips/tips05.html
。さんの言うとおり
http://denchu.jp/tips/tips05.html
からいただきました。
Blueさんのアドバイスをいただく前に
自分で解決させてすみませんでした。
Blueさん。意見を聞いてくださいまして
ありがとうございました。
ツイート | ![]() |