#include <iostream>
#include <fstream>
using namespace std;
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}
/*
使用get()和put()
一种你可以读写无格式数据的方法是通过使用成员函数get()和put(),这些函数对字符进行操作。
这就是说,get()用于读字符,而put()用于写字符。当然,如果你已经为二进制操作打开了文件。并
且正在以char流进行操作(而不是wchar_t流),那么这些函数会以比特(byte)为单位读写数据
*/
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
// 以二进制方式读文件
char ch;
char fname[255] = "a.txt";
ifstream in(fname, ios::in | ios::binary); // 打开文件读
Memo1->Clear();
if (!in) {
Memo1->Lines->Add("文件打开失败!");
}
else {
while (in) { // 当in到达文件尾部,其值为空,循环停止。
in.get(ch);
Memo1->Lines->Add(ch); // 读取中文为乱码,因为是二进制byte数据
}
}
in.close();
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) {
// 以二进制方式写文件
char *p = "hello 大家好 \n\r";
char fname[255] = "a.txt";
ofstream out(fname, ios::out | ios::binary);
Memo1->Clear();
if (!out) {
Memo1->Lines->Add("文件打开失败!");
}
else {
while (*p) {
out.put(*p++);
}
}
out.close();
}
// ---------------------------------------------------------------------------
没有合适的资源?快使用搜索试试~ 我知道了~
使用get()和put()读写二进制文件 C++ Builder实现
共7个文件
cpp:2个
local:1个
res:1个
需积分: 1 1 下载量 54 浏览量
2023-04-22
20:21:41
上传
评论
收藏 86KB ZIP 举报
温馨提示
使用get()和put()读写二进制文件 C++ Builder 窗口代码实例
资源推荐
资源详情
资源评论
收起资源包目录
使用get()和put()读写二进制文件.zip (7个子文件)
Project1.cpp 870B
Unit1.h 819B
Project1.cbproj 7KB
Project1.cbproj.local 1KB
Unit1.cpp 2KB
Project1.res 90KB
Unit1.dfm 1000B
共 7 条
- 1
资源评论
幸运骄子
- 粉丝: 1
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功