C++学习_IO:输入/输出

一:格式化字符串,常用规则的如下:

我觉得C风格的输入输出比C++中的好用的多。格式化字符串比一堆堆“<<”连接的变量名更为直观,也更方便

%[flags][width][.perc][F|N|h|l]type

type: %d %s %u %x %X %f %p等 这个最为常用,大家都熟悉~

flags:

 无: 右对齐,

- : 左对齐,注意左对齐是不能补0的(有歧义)

0:在前面补0,需要跟width一起用

width:数字,所占宽度,不够的地方没有flag用空格补,flag=0用0补

.prec:小数点都占几位

F|N|h|l :就l经常用, 长XX,如%ld就是长整形


二  printf/ scanf系列

1,fprintf经常与stdout,stderr一起用来打log

2,所有的io函数都是不处理内存的

3,通过sscanf 来进行类型转换是个不错的方法,例如将string转成float:

sscanf(s.c_str(),"%f",&f)


三 文件读写

读文件: ifstream + getline

写文件:ofstream

1,scanf 和 cin的问题在于不能很好地处理空白字符,因此实际用的并不多,常用的是getline函数:

istream& getline ( istream &is , string &str , char delim );
istream& getline ( istream& , string& );
第一种形式的参数delim某些情况可以当做split函数来用~

2,打开文件时一定要检查是否成功

3,stream对象都是不能复制或赋值的

4,将文件绑定到stream可以用open函数,也可以通过构造函数参来实现

5,可以用一个fstream+文件模式来知道打开文件的方式,但更形象方便的做法是直接指定ifstream(默认ios::in)或ofstream(默认ios::out)










你可能感兴趣的:(C++)