当前位置: 首页 > wzjs >正文

java论坛网站建设如何进行app推广

java论坛网站建设,如何进行app推广,泰安招聘信息最新招聘2022,做宣传的网站有哪些一、C I/O 类体系概览 C 的 I/O 功能由一组 流&#xff08;stream&#xff09; 类封装&#xff0c;位于头文件 <iostream>、<fstream>、<sstream> 等。核心类别及其继承关系简图如下&#xff1a; ios_base↑basic_ios<CharT,Traits>↑┌───────…

一、C++ I/O 类体系概览

C++ 的 I/O 功能由一组 流(stream) 类封装,位于头文件 <iostream><fstream><sstream> 等。核心类别及其继承关系简图如下:

          ios_base↑basic_ios<CharT,Traits>↑┌─────────┴─────────┐│                   │
basic_istream      basic_ostream↑                   ↑istream             ostream↑                   ↑ifstream, istringstream  ofstream, ostringstream↑                   ↑
iostream               
  • istream:输入流;ostream:输出流
  • iostream:既能输入也能输出(如 std::cin/std::cout
  • ifstream/ofstream/fstream:文件流;
  • istringstream/ostringstream/stringstream:基于字符串缓冲的内存流。

二、常用流对象

对象头文件用途
std::cin<iostream>从标准输入读取
std::cout<iostream>向标准输出写入
std::cerr<iostream>向标准错误写入(不带缓冲)
std::clog<iostream>向标准错误写入(带缓冲)
std::ifstream<fstream>从文件读取
std::ofstream<fstream>向文件写入
std::fstream<fstream>同时读写文件
std::istringstream<sstream>从内存字符串读取
std::ostringstream<sstream>向内存字符串写入
std::stringstream<sstream>内存中读写混合

三、打开模式与文件流

#include <fstream>// 打开文件写入(若不存在则创建,若存在则截断)
std::ofstream out("data.txt", std::ios::out | std::ios::trunc);// 追加写入
std::ofstream app("data.txt", std::ios::out | std::ios::app);// 读取二进制
std::ifstream in("data.bin", std::ios::in | std::ios::binary);// 读写
std::fstream fs("db.bin", std::ios::in|std::ios::out|std::ios::binary);
  • 常用模式

    • ios::inios::outios::app(尾部追加)、ios::trunc(截断)、ios::binary(二进制)
  • 检查打开状态

    if (!out.is_open()) {std::cerr << "无法打开文件\n";
    }
    

四、格式化与操纵器(Manipulator)

#include <iostream>
#include <iomanip>double x = 123.456789;// 控制浮点精度
std::cout << std::fixed << std::setprecision(2) << x << "\n";  // 123.46// 控制宽度与对齐
std::cout << std::setw(10) << std::left << "Hello" << "|\n";// 控制进制
int n = 255;
std::cout << std::hex << n << " " << std::dec << n << "\n";    // ff 255// 重置格式
std::cout << std::defaultfloat << std::right;
  • <iomanip> 中常用:setwsetfillsetprecisionfixedscientifichexdecboolalpha 等。

五、同步与性能注意事项

  1. 关闭同步

    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    • 关闭与 C 标准库(stdio)的同步,可大幅提升 cin/cout 性能。
    • cin.tie(nullptr) 解除 cincout 的自动刷新绑定。
  2. 避免频繁刷新

    • std::endl 会刷新缓冲区,使用 '\n' 代替可减少开销。
  3. 缓冲区大小

    • 可通过自定义缓冲区(继承自 std::streambuf)或调用 rdbuf()->pubsetbuf() 调整。

六、错误处理与例外

  • 状态位rdstate() / good() / eof() / fail() / bad()

    if (in.fail()) { /* 读取失败 */ }
    if (in.eof())  { /* 到达文件末尾 */ }
    
  • 抛出例外

    in.exceptions(std::ios::failbit | std::ios::badbit);
    try {int v;in >> v;    // 失败时抛 ios_base::failure
    } catch (const std::ios_base::failure& e) {std::cerr << "I/O 错误: " << e.what() << "\n";
    }
    

七、stringstream 与文本解析

#include <sstream>
#include <string>std::string line = "100,3.14,hello";
std::istringstream ss(line);int    a;
double b;
std::string s;char comma;
ss >> a >> comma >> b >> comma >> s;
// a=100, b=3.14, s="hello"
  • 用于将字符串分割解析为各种类型,避免手写字符串处理逻辑。

八、自定义流缓冲区

  • 继承 std::streambuf 并重载底层读写函数,可实现内存、网络、压缩等自定义 I/O。
  • 示例略:需重载 underflow()(输入)、overflow()(输出)等。

九、示例:日志类

#include <iostream>
#include <fstream>
#include <mutex>
#include <string>class Logger {std::ofstream ofs;std::mutex    mtx;
public:Logger(const std::string& filename): ofs(filename, std::ios::app){if (!ofs) throw std::runtime_error("无法打开日志文件");}void log(const std::string& msg) {std::lock_guard<std::mutex> lk(mtx);ofs << msg << '\n';// 不使用 endl 以避免每次都 flush}
};int main() {Logger log("app.log");log.log("程序启动");log.log("处理完成");return 0;
}

十、注意事项汇总

  1. 流关闭:文件流在析构时自动关闭,也可显式调用 close()
  2. 资源泄露:异常安全时确保流对象析构,以正确释放文件句柄。
  3. 同步问题:多线程写同一流需加锁或使用线程安全的自定义缓冲。
  4. 格式状态:流对象的格式状态会保留,若在一处修改,需注意在别处可能受影响。
  5. Locale 设置:对数字、小数点、宽字符支持等有要求时,可使用 std::locale 或调用 imbue()
  6. 二进制 I/O:读写 POD 类型时要注意对齐与字节序问题,推荐使用 read()/write()
http://www.dtcms.com/wzjs/322249.html

相关文章:

  • wordpress导航菜单图标设置关键词优化心得
  • 湛江做网站seo的西安网络优化培训机构公司
  • excel做网站二维码全网自媒体平台
  • 非常赚又一个wordpress站点百度推广助手电脑版
  • 哈尔滨自助板建站友链互换平台推荐
  • 依靠百度云做视频网站上海哪家seo公司好
  • 桂林市网站设计长尾词seo排名
  • 长春求推荐好的网站优化推广抖音搜索关键词排名查询
  • 中鑫华源建设投资集团网站网络建站平台
  • lamp网站开发黄金组合外链交换平台
  • 深圳市企业网站建设企业sem管理工具
  • 政府网站j建设调研报告网络营销怎么做推广
  • 福州外网站建设枸橼酸西地那非片功效效及作用
  • ui设计做网站海淀区seo搜索优化
  • 广东智能网站建设配件怎样无货源开网店
  • 怎样创造自己的网站网站推广的方式有哪些?
  • 重庆承越网站制作公司品牌传播策划方案
  • 电子版简历免费的来客seo
  • 阜阳网站建设专业机构企业网站seo托管怎么做
  • 教育一对一直播网站建设北京百度网站排名优化
  • 做垃圾网站可行吗网络舆情
  • 企业做网站的方案网站推广优化教程
  • 免费公司网站源码福州seo视频
  • 做买衣服的网站自己如何做链接推广
  • 网站优化靠谱站长工具综合查询系统
  • 网站url地址在哪里百度竞价推广是什么意思
  • 做网站公司在哪网络推广公司哪家好
  • 什么网站百度容易收录网站优化要做哪些
  • 青岛做网站建设价格郑州网络推广平台
  • ui网页设计高手优化器