txtからcsvを読み込めるようにするには – プログラミング – Home

txtからcsvを読み込めるようにする...
 
通知
すべてクリア

txtからcsvを読み込めるようにするには


DRS
 DRS
(@DRS)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

Windows XP
VC++ 6.0(古いですが・・・)
で開発を行なっています。
レベル0.2くらいの初心者ですがよろしくお願いします。

以下のコードでtxtファイルを読み込んでいるのですが、
それをcsvファイルを読み込めるようにしたいのです。

***********************************

{
Cstring ss;

UpdateData(TRUE);
CString fin(data.txt,CFile::modeRead);
m_text=";
while(fin.readString(ss)!=NULL){
m_text=m_text + ss;
}
UpdateData(FALSE);
}

***********************************

しかし、どのように書き換えれば良いのかがいまいち分かりません。
txtをcsvに書き換えただけでは当然のように文字化けしてしまいました(涙)
他のスレッドのCSV欄にも調べたのですが、適切な記述方法がどうしても理解できません
でした。


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

要するになにがしたい?

# ',' を区切りに文字列を切り分けたいってこと?


返信引用
DRS
 DRS
(@DRS)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

επιστημηさん、ご返答ありがとうございます。

>要するになにがしたい?
> ',' を区切りに文字列を切り分けたいってこと?

上記のプログラムをCSVのファイルが読み込めるプログラムに書き換えたいのです。
更に、そうするにはどこをどのように書き換えればよいのかが分からないのが現状です。
確かにカンマで文字列を区切りたいです。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> txtをcsvに書き換えただけでは当然のように文字化けしてしまいました

ココがわからん。ファイルの拡張子を変更しただけで文字化けするワケがない。
最初っからバケてたんじゃないのか?

> CString fin(data.txt,CFile::modeRead);

いずれにせよ、こんなコードが(csvじゃなくたって)まともに動くワケねぇ。
つか、コンパイルできないはず。


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

文字化けは片方だけUnicodeだったとか。

読み込むだけならtxtと全く同じですむはず。
','で分割するのはまた別の話。

>他のスレッドのCSV欄にも調べたのですが
この文章がイマイチよく分かりませんが、他で資料を読んだものの分からなかっ
た、という事でしょうか。

とりあえず、どのような形で読み込みたいのかがはっきりしないと具体例を示すの
は難しいと思います。
3次元配列[行][列][文字列]等とするのか、
2次元配列[列][文字列]として1行ずつ読み込んで処理するのか、
1次元配列[文字列]として1セルずつ読み込んで処理するのか、
クラス化してクラス越しに処理するのか
等です。


返信引用
DRS
 DRS
(@DRS)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

>ココがわからん。ファイルの拡張子を変更しただけで文字化けするワケがない。
>最初っからバケてたんじゃないのか?

txtとcsvのファイルを2つ用意しておいて、csvの方を選んだら文字化けしてしまい
ました。
txtファイルのほうは問題なく読めていました。

>> CString fin(data.txt,CFile::modeRead);
>いずれにせよ、こんなコードが(csvじゃなくたって)まともに動くワケねぇ。
>つか、コンパイルできないはず。

すみません!記入ミスです!
CStdioFile fin(data.txt,CFile::modeRead);
の間違いでした。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> txtとcsvのファイルを2つ用意しておいて、csvの方を選んだら文字化けしてしま
いました。
> txtファイルのほうは問題なく読めていました。

もともとファイルのエンコードが異なるんじゃかしら? 確認しました?
エンコードが必要なファイルをそのまま読んでもバケて当然。


返信引用
yoh2
 yoh2
(@yoh2)
ゲスト
結合: 18年前
投稿: 70
 

csvファイルって、結局はテキストファイルの一形態でしかないので、別々の
ファイルで試すのではなく、まずはテキストファイルの拡張子を単にcsvに
変えただけのファイルで試してみましょう。
それが実際にコンマ区切りかどうかはとりあえず脇に置いといて。
他の方も指摘されている通り、それだけでバケることはないはずです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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