c++ 初级编程问题,文件可以写入为什么不能读出???在线等。。。。

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:52:07
课程设计中,部分代码如下,在线等。。。。。大侠们受累了。。。。。
struct train
{
int train_no,fil_max,marked,ST_hour,ST_min;
double gotime;
char sta_start[20],sta_stop[20];

} No[100];

int train_no = 0;
void display_tiket()
{

cout<<endl<<"-------------------------------- 车票信息表 --------------------------------"<<endl;
cout<<endl<<"班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数"<<endl;

*******这里应该怎么写,才能读车文件呢????

}
void input()
{

int b;
do
{
cout<<" 请输入火车班次: ";
cin>>b;
if(b>100||b<1)
cout<<"输入错误,请输入1~100的整数!!"<<endl<<endl;
}while (b>100||b<1);
train_no=b;
int i=train_no;
int hour,min;
do {

cout<<" 请输入发车时间: ";
cin>>hour>>m

输入和"cin" 流很像. 和刚刚讨论的输出流很像, 但你要考虑几件事情。在我们开始复杂的内容之前, 先看一个文本:

12 GameDev 15.45 L This is really awesome!

为了打开这个文件,你必须创建一个in-stream对象,?像这样。

ifstream fin("input.txt");

现在读入前四行. 你还记得怎么用"<<" 操作符往流里插入变量和符号吧?好,?在 "<<" (插入)?操作符之后,是">>" (提取) 操作符. 使用方法是一样的. 看这个代码片段.

int number;
float real;
char letter, word[8];
fin >> number; fin >> word; fin >> real; fin >> letter;

也可以把这四行读取文件的代码写为更简单的一行。

fin >> number >> word >> real >> letter;

它是如何运作的呢? 文件的每个空白之后, ">>" 操作符会停止读取内容, 直到遇到另一个>>操作符. 因为我们读取的每一行都被换行符分割开(是空白字符), ">>" 操作符只把这一行的内容读入变量。这就是这个代码也能正常工作的原因。但是,可别忘了文件的最后一行。

This is really awesome!

如果你想把整行读入一个char数组, 我们没办法用">>"?操作符,因为每个单词之间的空格(空白字符)会中止文件的读取。为了验证:

char sentence[101]; fin >>