//使用文件流写文本文件 #include<iostream> using namespace std; #include<string> #include<fstream> int main(void) { //ofstream outfile; fstream outfile; //outfile.open("User.txt"); outfile.open("User.txt", ios::out | ios::trunc); string name; int age; while (1) { cout << "请输入姓名:[输入Ctrl Z 停止输入]"; cin >> name; if (cin.eof()) { break; } outfile << name<<"\t"; cout << "请输入年龄:"; cin >> age; outfile << age << endl;; } outfile.close(); return 0; }
//使用文件流读文本文件 #include<iostream> using namespace std; #include<fstream> #include<string> //int readFile(void) int main(void) { ifstream infile; infile.open("User.txt"); string name; int age; while (1) { infile >> name; if (infile.eof()) { break; } cout << name << "\t"; infile >> age; cout << age << endl; } infile.close(); return 0; }
//使用文件流写二进制文本文件 #include<iostream> using namespace std; #include<string> #include<fstream> int main(void) { string name; int age; ofstream outfile; outfile.open("User.dat",ios::out | ios::trunc | ios::binary); while (1) { cout << "请输入姓名:[Ctrl Z退出]"; cin >> name; if (cin.eof()) { break; } outfile << name << "\t"; cout << "请输入年龄:"; cin >> age; //outfile << age << endl; outfile.write((char*)(&age), sizeof(age)); } outfile.close(); system("pause"); return 0; }
//使用文件流读二进制文本文件 #include<iostream> #include<string> #include<fstream> using namespace std; int main(void) { ifstream infile; infile.open("User.dat"); string name; int age; while (1) { infile >> name; if (infile.eof()) { break; } cout << name<<"\t"; char temp; //二进制读取遇到制表符不会自动跳跃 infile.read((char*)&temp, sizeof(temp)); //infile >> age;错误 infile.read((char*)&age, sizeof(age)); cout << age << endl; } infile.close(); system("pause"); return 0; }