C++学习笔记

来源:互联网 发布:乘联会销量数据suv 编辑:程序博客网 时间:2024/06/07 09:36

写一点笔记,C++

fflush(stdin) 可用于清空输入缓冲区
stringstream 可以简化类对象之间的转化

stringstream .str().c_str()可以返回C类型的字符串

#include <sstream>#include <iostream>using namespace std;int main(){    std::stringstream stream;    std::string result;    //将整型数据转换为string    int i = 100;    stream << i;    stream >> result;    std::cout << result << std::endl;    stream.clear();//再次使用时需要调用clear方法,重置了流的状态标志    string result_2;    stream << 8888;    stream >> result;    std::cout << result << std::endl;    stream.str("");//清空流内容,clear()方法不会清空流内容    string result_1 = "world ";    stream.clear();    stream << "hello "<<result_1 << 100;    result_1 = stream.str();//返回流内储存的string类型对象    std::cout << result_1 << std::endl;}

程序结果如下:

ANSI标准说明了五个预定义的宏名:


__LINE__ 源文件的文件名;
__FILE__ 该行代码的所在行号;
__DATE__ 含有形式为月/日/年的串,表示源文件被翻译到代码时的日期;
__TIME__ 含有形式为时/分/秒的串,源代码翻译到目标代码的时间作为串;
__STDC__ 如果实现是标准的,则含有十进制常量1。


boost::lexical_cast为数值之间的转换提供了良好的解决方案,可实现任意类型向数值(int, double…)的转化,当转换失败是抛出bad_lexical_cast异常。

0 0