C++之string流与文件流

  • istrstream和ostrstream在98标准中废弃,取而代之的是istringstream和ostringstream,实现类似于C语言中sprintf和sscanf的效果
cpp 复制代码
#include <iostream>
#include <cstdio>
#include <sstream>
using namespace std;
int main(void){
    int i = 1234;
    double d = 56.78;
    char s[] = "hello";
#if 0
    char buf[100] = {0};
    sprintf(buf, "%d %lf %s", i, d, s);
    printf("%s\n", buf);
    char str[] = "100 1.23 world";
    sscanf(str, "%d %lf %s", &i, &d, s);
    printf("%d %lf %s\n", i, d, s);
#endif
    ostringstream oss;
    oss << i << ' ' << ' ' << d << ' ' << s;
    cout << oss.str() << endl;
    
    istringstream iss;
    iss.str("100 1.24 world");
    iss >> i >> d >> s;
    cout << i << ", " << d << ", " << s << endl;
    return 0;
}  

文件流

  • C++将文件看成是一个个字符在磁盘上的有序集合,用流来实现文件的读写操作
  • C++中用来建立流对象的类有ifstream(输入)、ofstream(输 出)、fstream(输入输出)
cpp 复制代码
#include <iostream>
#include <fstream>
using namespace std;
int main(void){
    int i = 1234;
    double d = 56.78;
    char s[] = "hello";
    ofstream ofs("a.txt");
    ofs << i << d <<s << endl;
    ofs.close();
    
    ifstream ifs("a.txt");
    int i2;
    double d2;
    string s2;
    ifs >> i2 >> d2 >> s2;
    cout << i2 << endl;
    cout << d2 << endl;
    cout << s2 << endl;
    return 0;
}
相关推荐
BestOrNothing_201510 小时前
C++零基础到工程实战(4.3.3):vector数组访问与遍历
c++·迭代器·stl·vector·动态数组
charlie11451419110 小时前
通用GUI编程技术——图形渲染实战(三十三)——Direct2D与Win32/GDI互操作:渐进迁移实战
c++·图形渲染·gui·win32
文祐10 小时前
C++类之虚函数表及其内存布局(一个子类继承一个父类)
开发语言·c++
墨尘笔尖11 小时前
最大最小值降采样算法的优化
c++·算法
YIN_尹13 小时前
【Linux系统编程】进程地址空间
linux·c++
EverestVIP13 小时前
C++中空类通常大小为1的原理
c++
网域小星球14 小时前
C++ 从 0 入门(六)|C++ 面试必知:运算符重载、异常处理、动态内存进阶(终极补充)
开发语言·c++·面试
晚会者荣14 小时前
红黑树的插入(有图)
c++
John.Lewis14 小时前
C++进阶(12)附加学习:STL之空间配置器(了解)
开发语言·c++·笔记
汉克老师14 小时前
GESP2023年12月认证C++三级( 第三部分编程题(2、单位转换))
c++·string·单位转换·gesp三级·gesp3级