C++的流操作

    流的操作可谓是高级抽象的结果,跟linux的文件类似,一切皆文件。那么一切皆流呢?这里指i/o操作。个人感觉用c++编程好处是可以让代码得到很好的组织,但c++语法繁杂,不像c语言那样简洁,可以专注于要解决的问题上,而是关注于解决问题的方式。如果自己有经常用的一套个人库,并个人不断编程维护,这样应该可以很省事。首先看需求,假设你要在foo.txt文件读取格式化的字符串。其中foo.txt内容如下:

SMTP : smtp.gmail.com

PORT : 25

都是这类如"变量类型:值"之类的东西,那么怎么读取?我采用的方法为:

ifstream  rfile ;
istringstream sstr ;
string str1, str2 ;
char ch;
rfile.open("foo.txt");
getline(rfile,str);
sstr.str(str.c_str());
sstr>>str1>>ch>>str2;
rfile.close();

其实用c的代码可以:

char  buf[BUF_SIZE];
char str1[BUF_SIZE],str2[BUF_SIZE];
FILE *fp ;
fp  = fopen("foo.txt","r");
fgets(fp,buf,sizeof(buf));                       \\读取整行
sscanf(buf,"%s %c %s",str1,%ch,str2);            \\从字符串格式化读
fclose(fp);

这里的读取要求字符串有空格间隔,但是读整数类型可以不必要空格间隔直接sscanf(buf,"%d:%d",&a,&b);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值