前回のデータ比較の件ではお世話になりました。
ありがとうございます。
今度はファイルストリームを習っているのですが、
データの表示で躓いてしまいました…
擬似アドレス帳プログラムを作っていて
ファイルの読み込みは間違っていないと思うのですが、
いざ表示しようとすると文字化けしてしまいます。
表示の部分に問題があると思うのですが、どこをどう直したらいいのか教えていただけないでしょうか。
以下ソースコードです
#include <iomanip.h>
#include <fstream.h>
const int Max = 30 ;//アドレス帳に入力可能な最大文字数
const int Ninzu = 5 ;//アドレス帳に登録可能な最大人数
//構造体の宣言
struct Denwa {
char name[Max]; //名前
char number[Max]; //電話番号
};
main(){
cout <<"名前と電話番号しか登録できませんが、アドレス帳プログラムです。" <<endl;
ifstream fin("adress.txt" , ios::in);//ファイルストリーム
if(!fin){ //ファイルオープンに失敗したとき
cerr<<"ファイルオープンに失敗しました"<<endl;
exit(1);//プログラムを終了する
}
Denwa adata[Ninzu];//構造体の変数宣言
//ファイルからデータを読み込む
for (int i = 0 ; i < Ninzu; i++){
fin.getline(adata[i].name,Max);
fin.getline(adata[i].name,Max);
}
fin.close(); //ファイルを閉じる
//アドレスデータの表示
cout <<"アドレス帳を表示します"<< endl;
cout <<"-----------------------------"<<endl;
for (int i = 0 ; i < Ninzu ; i++){
cout << adata[i].name
<< adata[i].number <<endl;
}
return 0;
}
Miki-Sayaka
09011112222
Sakura-Kyouko
09029299191
Tomoe-Mami
09087654321
Akemi-Houra
08019283847
Kaname-Madoka
09012345678