C/C++格式化输入,输出

1.C语言

1. 语言函数

scanf();
printf();
sscanf() --> 不安全
sscanf_s() ---> 安全
sprintf() --> 不安全 ----> sprintf_s()

2. 说下遇到的坑

string s1,s2;
int i=0;
sscanf(dest,"%d,%s,%s",&i,s1,s2); // -->如果时这样写的会 编译可以会过,但是在运行的时候就会出现异常。
/*
所以在写的时候就要写C语言的类型,char* 其次该函数是不安全的函数,所以在使用的时候使用```sscanf_s()```,
sprintf()函数也是一样的问题,应该使用sprintf_s()函数
*/

2.C++

  1. 利用stringstream 流进行处理,安全

    • stringstream 中包含

      + istringstream (输入)

      + ostringstream(输出)
  2. stringstream 流出时遇到 逗号,回车时问题
	string s = "1 1.3 aaa a ";
string s1 = "abc,1,abcdef,abcdefg,aab";
stringstream ss;
ss << s;
int ia = 0;
double db = 0.0;
string sc = "";
char cd = ' '; ss >> ia;
cout << "ia -> " << ia << endl; ss >> db;
cout << "db -> " << db << endl; ss >> sc;
cout << "sc -> " << sc << endl; ss >> cd;
cout << "cd -> " << cd << endl; ss.clear();
cout << "*****************************" << endl; ss << s1;
//ss >> sc;
//cout << sc << endl;
while(ss >> sc) {cout << sc << endl;}

结果:

3.利用stringstream类型转换

可以把任意类型转换成字符串

	template<class T>
void to_string(string & s;T &val)
{
stringstream ss << val;
s = ss.str();
}

4.C++格式化

  1. cin >> noskipws -- > 不忽略任意地方空格
  2. hex控制输出的格式,默认为dec(十进制),可手动设置dec,hex,oct。
  3. setiosflags 为控制格式,ios::uppercase 为输出大写十六进制格式,也可以省略setiosflags直接写uppercase.一共有7种格式
        setiosflags(ios::fixed)  //---> 固定的浮点显示
setiosflags(ios::scientific) //--- 指数表示
setiosflags(ios::left) //---左对齐
setiosflags(ios::right) //---右对齐
setiosflags(ios::skipws) //--- 忽略前导空白
setiosflags(ios::uppercase) //--- 16进制数大写输出
setiosflags(ios::lowercase) //---16进制数小写输出

最新文章

  1. (转载)Spring的refresh()方法相关异常
  2. Caffe源码解析1:Blob
  3. 初识IStructuralEquatable接口
  4. centos mongodb安装及简单实例
  5. ural 1247. Check a Sequence
  6. openstack4j接口调试
  7. JavaScript中this详解
  8. excel笔记
  9. 安装jar包到本地maven仓库
  10. temp-mootools简单语法
  11. php数组基础知识
  12. 动态规划--Kin
  13. 伪分布式hbase2.6.5和hbase1.1.2的配置
  14. Django拾遗--pagination、sitemap、admin、form
  15. ionic1实现热更新以版本检测更新安装包的方法
  16. 如何从jks文件中导出公私钥
  17. ReportMachine 自定义代码 画细线
  18. 一个java版本的简单邮箱小爬虫
  19. CentOS 7 安装方式汇总
  20. Docker for Windows 启动失败,提示Kubernetes证书无效

热门文章

  1. POJ 1060:Modular multiplication of polynomials
  2. C# WINFORM 窗体执行ORACLE存储过程 进行增删改查 自己编写借助网络(二)
  3. sql复杂查询语句总结
  4. Vue.js实战 5.5章 购物车
  5. 聪明的质监员 2011年NOIP全国联赛提高组(二分+前缀和)
  6. echart 参数 vue配置 图文展示
  7. 洛谷P3371 【模板】单源最短路径(弱化版)(SPFA解法)
  8. SVN安装失败提示
  9. Y-C
  10. 记一个java.lang.NoClassDefFoundError的问题