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;
}
相关推荐
sqmw1 天前
MFCMouseEffect:把桌面输入反馈这件事,做成一个真正可扩展的引擎
c++·插件·引擎·鼠标特效·键鼠指示·鼠标伴宠
沈阳信息学奥赛培训1 天前
#undef 指令 (C/C++)
c语言·开发语言·c++
2401_873204651 天前
分布式系统安全通信
开发语言·c++·算法
sw1213891 天前
C++中的代理模式实战
开发语言·c++·算法
Sunshine for you1 天前
实时操作系统中的C++
开发语言·c++·算法
史蒂芬_丁1 天前
C++深度拷贝例子
java·开发语言·c++
「QT(C++)开发工程师」1 天前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
Jordannnnnnnn1 天前
追赶33名
c++
会编程的土豆1 天前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
2401_879693871 天前
C++中的观察者模式实战
开发语言·c++·算法