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

自己做网站难吗成都关键词快速排名

自己做网站难吗,成都关键词快速排名,网站推广的平台排名,做网站要买什么服务器基本概念 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放 通过文件可以将数据持久化 C中对文件操作需要包含头文件 <fstream> 文件类型分为两种&#xff1a; 文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的…

 基本概念

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放

通过文件可以将数据持久化

C++中对文件操作需要包含头文件 <fstream>

文件类型分为两种:

  • 文本文件 - 文件以文本的ASCII码形式存储在计算机中
  • 二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们

操作文件的三大类:

        1. ofstream:写操作

        2. ifstream:读操作

        3. fstream:读写操作

#include <fstream>  // 必须包含的头文件
数据特性说明
程序运行时数据临时数据,程序结束即释放
文件持久化数据长期存储在磁盘中

文件打开模式

模式标志功能描述
ios::in为读取打开文件
ios::out为写入打开文件
ios::ate初始定位到文件末尾
ios::app追加写入模式
ios::trunc存在则清空重建
ios::binary二进制模式操作

文本文件

写文件

void test01() {// 1. 包含头文件(已在全局包含)// 2. 创建输出流对象ofstream ofs;// 3. 指定打开方式(组合模式用 | 连接)ofs.open("test.txt", ios::out | ios::trunc);// 4. 写入格式化数据ofs << "姓名:张三" << endl;  // 正确使用<<运算符ofs << "性别:男" << endl;ofs << "年龄:18" << endl;// 5. 关闭文件流ofs.close();
}

读文件

基础操作框架

#include <fstream>  // 必须包含的头文件
#include <string>   // 字符串操作支持void readFileDemo() {// 1. 创建流对象ifstream ifs;// 2. 打开文件并验证ifs.open("test.txt", ios::in);  // ios::in表示读取模式if (!ifs.is_open()) {           // 必须检查打开状态cerr << "文件打开失败" << endl;return;}// 3. 读取数据(四种方式见下文)// 4. 关闭文件流ifs.close();
}

四种读取方式对比

方式1:运算符重载读取
char buf[1024] = {0};  // 1024为缓冲区长度
while (ifs >> buf) {   // 自动处理空格/换行分隔cout << buf << endl;
}

特点:

  • 自动按空白符分割内容
  • 缓冲区需预分配固定大小
  • 适合结构化数据读取
方式2:getline成员函数
char buf[1024] = {0};
while (ifs.getline(buf, sizeof(buf))) {  // 流对象的成员函数cout << buf << endl;  // 自动处理换行符
}

特点:

  • 精确控制缓冲区大小
  • 自动去除换行符
  • 需注意缓冲区溢出风险
方式3:全局getline函数
string buf;
while (getline(ifs, buf)) {  // 使用string自动管理内存cout << buf << endl;     // 无长度限制
}

特点:

  • 自动管理内存
  • 无需担心缓冲区溢出
  • 标准推荐方式
方式4:逐字符读取
char c;
while ((c = ifs.get()) != EOF) {  // EOF检测cout << c;  // 原样输出所有字符
}

特点:

  • 完全控制读取过程
  • 适合二进制文件处理
  • 性能开销较大

二进制文件

核心操作框架

#include <fstream>
#include <string>// 示例数据结构
struct PlayerData {int id;         // 4字节double score;   // 8字节char name[32];  // 32字节
}; // 总大小:44字节void binaryDemo() {// 创建流对象fstream file("game.dat", ios::binary | ios::out | ios::in);// 验证文件状态if (!file.is_open()) {cerr << "文件打开失败" << endl;return;}// 读写操作(见下文示例)file.close();
}

读写文件

// 读取基本类型
int loadedScore;
file.read(reinterpret_cast<char*>(&loadedScore), sizeof(int));// 读取结构体(需内存对齐)
#pragma pack(push, 1)  // 1字节对齐
struct PackedData {short type;bool valid;// ...
};
#pragma pack(pop)PackedData data;
file.read(reinterpret_cast<char*>(&data), sizeof(PackedData));// 批量读取
vector<PlayerData> players(10);
file.read(reinterpret_cast<char*>(players.data()), players.size() * sizeof(PlayerData));

http://www.dtcms.com/wzjs/519110.html

相关文章:

  • 河南省教育类网站前置审批国内比百度好的搜索引擎
  • 建筑网站登陆页面东莞企业网站排名
  • o2o网站建设最好公司网站提交入口
  • 个人做短视频网站成都百度
  • 2014苏州建设银行招聘网站搜索广告是什么意思
  • 网站建设视频教程网站sem账户托管
  • wordpress做视频网站吗公司网站制作公司
  • 买到域名怎么做网站上海怎么做seo推广
  • 网站建设公司案例百度官方免费下载安装
  • 摄影工作室网页设计汕头网站优化
  • 徐州网站开发公司电话安卓手机优化大师官方下载
  • 移动互联网开发招人seo网络推广外包公司
  • 建立健康的人际关系玉林网站seo
  • 江西城乡住房建设网站电脑上突然出现windows优化大师
  • 做网站公众号要多少钱头条号权重查询
  • 网站设计模板html怎么做营销推广方案
  • 做网站时可以切换语言的直播发布会
  • 上海b2c网站全网络品牌推广
  • 浏览器网页版seo优化推广教程
  • 徐州vi设计公司长沙seo服务哪个公司好
  • 电视能效一级二级三级什么区别搜索引擎优化seo公司
  • 企业网站如何上存网络公司推广方案
  • 网站服务器建立seo 首页
  • 网站建设 百度贴吧今日重大新闻头条
  • 做网站没有高清图片怎么办外贸seo站
  • 创新的响应式网站建设视频营销
  • 珠海专业机械网站建设做个小程序需要花多少钱
  • 网站建设网站建设的网络公司深圳媒体网络推广有哪些
  • 小白怎样建设公司网站无锡百度正规公司
  • wordpress 主机 设置ftpseo内部优化具体做什么