C++ 读写文件

  1. txt文件格式化读写(设置宽度、列对齐等)
    char filename[] = “文件名.txt”
    (自己新建一个文件时,自己手动在文件名后面加上.txt可能会出错)
//写入txt文件
	char filename[] = "文件名.txt"
	ofstream outfile;outfile.open(filename,ios::out);
	outfile<<setiosflags(ios::left)<<setw(15) << "number"<<setw(15)<<"name"<<setw(15)<<"birthday"
						<<setw(15)<<"gender"<<setw(15)<<"tele_number"<<setw(15)<<"address"<<endl; 
	for(int i=1;i<=Max;i++){
		outfile <<setiosflags(ios::left)<<setw(15) << toString(i)<<setw(15)<<"name"+toString(i) <<setw(15)<<"2000-01-01"
				<<setw(15)<<"female"<<setw(15)<<"tn"+toString(i) <<setw(15)<<"address"+toString(i)<<endl;
	}
	outfile.close();
	
	//读取txt文件 
	ifstream infile(filename);
	string a;
	Node* node = new Node();
	while(infile>>node->data.number>>node->data.name>>node->data.birthday
			>>node->data.gender>>node->data.telenumber>>node->data.address)//判断是否读取完文件的全部内容
	{
		cout<<node->data.number<<' '<<node->data.name<<' '<<node->data.birthday<<' '
			<<node->data.gender<<' '<<node->data.telenumber<<' '<<node->data.address<<endl;
	} 
	infile.close(); 
  1. sprintf是一个很实用的工具:
    2.1 将多个数字转化为字符串,不够指定位数的用0补齐
//将n转化为固定长度的字符串,不足位数的用0补齐 
string toString(int n){
	char str[10];
	sprintf(str,"%08d",n); 
	return str;
}

如:

toString(111); //00000111

2.2 将数字转化为字符串(不够指定位数的用0补齐)并添加到另一个字符串(例如"name")后或者前。

char temp[255];
sprintf(temp, "name%08d\0", i); //i是数,如111、5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值