新手求助。
本帖最后由 跑江湖 于 2013-12-13 14:58 编辑#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string>
#include<windows.h>
using namespace std;
struct Fishc
{
string name;
char sex;
string Id;
};
int main(void)
{
ofstream outFile;
ifstream inFile;
int i;
int n = 0;
int count = 0;
cout << "1. 打印输入到屏幕\n";
cout << "2. 录入数据\n";
cout << "3. 退出程序\n";
cout << "请选择:";
cin >> i;
cin.get();
switch (i)
{
case 1:
count = 1;
break;
case 2:
count = 2;
break;
case 3:
count = 3;
break;
}
if (count == 1)
{
inFile.open("test.txt",ios_base::binary);
if (!inFile.is_open())
{
cout<<"文件无法打开.\n";
exit(EXIT_FAILURE);
}
while (1)
{
if (inFile.eof())
{
break;
}
else
{
Fishc p;
inFile >> p.Id;
inFile >> p.name;
inFile >> p.sex;
cout << p.Id << endl;
cout << p.name << endl;
cout << p.sex<<'\n';
}
}
inFile.close();
}
else if(count == 2)
{
Fishc p;
cout << "请输入姓名:";
getline(cin,p.name);
cin.get(); // 处理回车
cout<<"请输入性别【M(男)/F(女)】:";
cin >> p.sex;
cin.get(); // 处理回车
cout<<"请输入编号 :";
getline(cin,p.Id);
outFile.open("test.txt",ios_base::in|ios_base::app|ios_base::binary);
if (!outFile.is_open())
{
cout<<"打开失败\n";
exit(EXIT_FAILURE);
}
outFile << endl<<'\n';
outFile << p.Id << endl;
outFile << p.name << endl;
outFile << p.sex << endl;
outFile.close();
}
else
{
cout<<"输入任意字符退出程序: ";
cin.get();
}
return 0;
为什么后面多输出了一个F?
知道endl和'\n'的意思么?都是换行吧 maomingkun 发表于 2013-12-12 23:54 static/image/common/back.gif
知道endl和'\n'的意思么?都是换行吧
知道啊!为什么加了这两个之后,后面多输出了一个F 跑江湖 发表于 2013-12-13 12:21 static/image/common/back.gif
知道啊!为什么加了这两个之后,后面多输出了一个F
不好意思,问题搞错了,为什么后面多输出了一个字符,没加回车的那张挤一块了没看到。
test.txt的内容是这样的。
ID_000001
跑江湖
F
页:
[1]