学习使用点滴-1-字符处理
来源:互联网 发布:ubuntu 安装 py2exe 编辑:程序博客网 时间:2024/04/29 11:06
1.字符转换
1.1 相关类
lexical_cast
bad_lexical_cast
1.2 定义文件:#include <boost/lexical_cast.hpp>
1.3 功能简介:
用来进行类型转换的,字符串与数值之间的转换
1.4 使用举例:
Eclipse 3.0, GUN G++ , Winxp测试通过。
#include <iostream>
#include <boost/lexical_cast.hpp>
using namespace std;
main()
{
int i=100;
char* pstr = "10101";
cout<<"Before convert i is:"<<i<<endl;
i = boost::lexical_cast< int >(pstr);
cout<<"After convert i is:"<<i<<endl;
return 0;
}
//print: Before convert i is:100
// After convert i is:10101
1.5 其他:
转换的异常处理和一般的异常处理相同。
如:try
{
//进行转换
}
catch(bad_lexical_cast &)
{
//处理异常
}
2.格式化字符串
2.1 相关类
format
2.2 定义文件:#include <boost/format.hpp>
2.3 功能简介:
构建一个格式化的字符串,其中的某些字符是待定的,其可以以参数的形式写入。
2.4 使用举例:
Eclipse 3.0, GUN G++ , Winxp测试通过。
#include <iostream>
#include <boost/format.hpp>
#include <string>
using namespace std;
using boost::format;
using boost::io::group;
int main()
{
format fmt("%1% %2% %3% %4% %5% %6%/n");
//使用%1%进行参数替换,1代表第一个参数
string str;
int i=100;
cout<<fmt % 'g' % 'a' % 'l' % 'p' % 'h' % 'y'<<endl;
//%操作符压入参数
string s_tmp =boost::str(fmt);
//str()自由函数,fomat->string
//同样也可使用format.str();
cout << s_tmp;
return 0;
}
2.5 格式说明:
“$“的使用:后面加printf的格式控制符
“|“的使用:简化printf的格式控制符
1.无参数顺序:
format(“%5d %4s %5f“); //%后面直接加printf的格式控制符,参数顺序传入
format(“%|5| %|4| %|5|);//效果同上,自动判断d,s,f等控制符号
2.有参数顺序:
format(“%1% %2% %1%“);
format(“%1$5d %2$5s %1$5d);
format(“%|1$5| %|2$5| %|1$5|);//效果同上,自动判断d,s,f等控制符号
3.具体格式:
[ N$ ] [ flags ] [ 宽度] [ . 精度] type-char
Flag Meaning effect on internal stream '-' left alignment N/A (applied later on the string) '=' centered alignment N/A (applied later on the string)
- note : added feature, not in printf -'_' internal alignment sets internal alignment
- note : added feature, not in printf -'+' show sign even for positive numbers sets showpos '#' show numerical base, and decimal point sets showbase and showpoint '0' pad with 0's (inserted after sign or base indicator) if not left-aligned, calls setfill('0') and sets internal
Extra actions are taken after stream conversion to handle user-defined output.' ' if the string does not begin with + or -, insert a space before the converted string N/A (applied later on the string)
Different to printf's behaviour : it is not affected by internal alignment
Type-Char Meaning effect on stream p or x hexadecimal output sets hex o octal output sets oct e scientific float format sets floatfield bits to scientific f fixed float format sets floatfield bits to fixed g general -default- float format unset all floatfield bits X, E or G same effect as their lowercase counterparts, but using uppercase letters for number outputs. (exponents, hex digits, ..) same effects as 'x', 'e', or 'g', plus uppercase d, i or u decimal type output sets basefield bits to dec s or S string output precision specification is unset, and its value goes to an internal field for later 'truncation'. (see precision explanation above) c or C 1-character output only the first character of the conversion string is used. % print the character % N/A
- 学习使用点滴-1-字符处理
- [BOOST]学习使用点滴-1-字符处理[by galphy]
- 深度学习点滴---处理技巧
- Make点滴学习-----1
- C++学习点滴1
- JS学习点滴1
- websphere5.1使用点滴
- 良葛格java学习点滴1
- 学习ROR的点滴1
- Android 学习点滴(1)
- iOS7学习点滴--笔记1
- windows编程学习点滴1
- DM642学习点滴二:IMGLIB的使用
- Web Storm 7 的使用学习点滴
- Qt学习使用时的点滴
- PowerDesigner使用点滴记录-1
- 学习点滴
- 点滴学习
- [企业信息化大家学系列]ERP基础知识问答之ERP概念
- 为什么在编译java时会出现Exception in thread "main" java.lang.NoClassDefFoundError错误?
- today study_2005.1.25
- [企业信息化大家学系列]ERP基础知识问答之BPR与ERP的关系
- 数据访问接口体系及数据对象模型探讨
- 学习使用点滴-1-字符处理
- JAVA正则表达式和特殊字符(没完全看懂ING)
- CIO如何转型
- 从 C++ 向 C# 迁移
- VC中的一些常用方法(20条)
- 微软的三句话
- CLR 中的范型详解
- [收藏]用JavaScript让弹出页面以最小化的形式出现在状态栏中
- [企业信息化大家学系列]ERP基础知识问答之ERP实施