上机必备——文件输入输出

复试上机常用文件输入输出方法

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

/*
	先将如下信息写入文件中:
		01 李江 男 21
		02 刘唐 男 23
		03 张军 男 19
		04 王娜 女 19
	然后输入学号查询学生信息 
*/
int main(){
	string fname = "f:\\bit\\student_info.txt";
	//in out是以控制台为主体来看的,从控制台输出数据则是out,输入数据则是in 
	ofstream out(fname.c_str());//这种形式不行:"f:\\bit\\student_info.txt".data() 
	string str;
	while(getline(cin, str)){
		if(str == "end"){
			break;
		}
		out<<str<<endl;
	}
	string directive, info;
	bool flag = false; 
	while(cin>>directive){
		if(directive == "00"){
			break;
		}
		flag = false;
		ifstream in(fname.data());//每次查询都要打开一次文件,是为了保证in指向文件的开头,从而保证下面循环的进行 
		while(!in.eof()){
			getline(in, info);//若使用in>>info则遇到空格则结束 
			//若字符串为字符数组类型,in.getline(ch, length); 
			//若知道格式,也可这样输入:in>>no>>name>>sex>>age; 
			if(info.find(directive) != string::npos){
				flag = true; 
				cout<<info<<endl;
			}
		}
		if(in.eof() && flag == false){
			cout<<"查无此人!"<<endl;;
		}
		in.close();
	}
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值