所以我在C++編寫這個程序學校一切正常,直到我打開txt文件......所有我能看到的是中國的符號..任何人有一個想法?.txt文件顯示中國符號/ C++
這是我的代碼。不介意未完成的搜索功能和其他東西。
#include <iostream>
#include <fstream>
using namespace std;
fstream data_file;
struct depositor
{
char name[20];
char last_name[30];
char address[60];
};
void add_depositor(depositor p_Info);
void search_depositor();
void add_depositor(depositor p_Info)
{
data_file.open("Data.txt", ios::app);
if (data_file.fail())
{
cout << "Error while opening the file!";
exit(1);
}
else
{
data_file.write((char*)(&p_Info), sizeof(depositor));
data_file.close();
}
}
int menu()
{
int choice;
do
{
cout << "\n* Menu *";
cout << "\n* 1. Add depositor! *";
cout << "\n* 2. Search for depositor! *";
cout << "\n* 3. Exit program! *";
cout << "\n* Enter your choice: ";
cin >> choice;
cout << "\n* You chose: " << choice;
} while (choice < 1 || choice > 4);
return choice;
}
void main()
{
depositor p; int choice;
do
{
choice = menu();
switch (choice)
{
case 1: cout << "\n Enter first name: ";
cin >> p.name;
cout << "\n Enter last name: ";
cin >> p.last_name;
cin.clear();
cin.ignore(2000, '\n');
cout << "\n Enter address: ";
cin.getline(p.address, 60);
add_depositor(p); break;
case 2: cout << "";
default: cout << "\n* End of program! *";
}
} while (choice != 4);
}
這是我在txt文件獲得:
和你有什麼期望看到? – bluefog
記事本誤解了文件,因爲它裏面有二進制數據。你只需要寫文本。 –
@MarkRansom:那是什麼「二進制數據」? –