需要将数据写入到bin文件中,打开该文件是一堆乱码,增加数据的保密性

例如:要写入的数据为一个字符串,加上若干个int型整数

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std; int main(int argc, char* argv[])
{
char names[] = "KobeBryant";
int iValue[] = { , , , , , , , , , , , , , }; /* 新建一个bin文件 */
FILE *fw = fopen("1.bin", "wb");
if (fw == NULL)
return ; /* 写入imgname,并加上一个空格 */
for (int i = ; i < strlen(names); i++)
fwrite(names + i, sizeof(char), , fw);
char space = ;
fwrite(&space, sizeof(char), , fw); /* 将数值写入到bin文件中 */
int length = sizeof(iValue) / sizeof(int);
for (int i = ; i < length; i++)
{
fwrite(iValue+i, sizeof(int), , fw);
} fclose(fw);
return ;
}

写入的结果:

读入bin文件的代码:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream> using namespace std; int main(int argc, char *argv[])
{
/* 创建文件指针,以只读+二进制的方式打开文件 */
FILE *fr = fopen("1.bin", "rb"); /* 判断打开文件是否成功 */
if (fr == NULL)
{
printf("Message : %s\n", strerror(errno));
return -;
}
/* 输出img的图片名称,加上一个换行符 */
char c_name;
int rc = -;
rc = fread(&c_name, , sizeof(char), fr);
while (c_name!=)
{
cout << c_name;
rc = fread(&c_name, , sizeof(char), fr);
}
printf("%c", ); /* 读入每个int型数据后,并输出 */
int data = -;
int n = ;
rc = fread(&data, sizeof(int), , fr);
while (rc)
{
n += rc;
printf("%-5d", data);
rc = fread(&data, sizeof(int), , fr);
} /* 关闭文件 */
fclose(fr);
system("pause");
return ;
}
读该bin文件的结果:
rc = fread(&c_name, 1, sizeof(char), fr)函数,每次读入一个字符,返回值为读入成功的字符个数,读入成功,rc=1,读入失败,rc=-1;
直到读入空格时,字符串的读入停止。
每次读入一个字符时,文件指针fr都会向后挪动一位。

c代码写数据到二进制的bin文件中的更多相关文章

  1. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  2. [数据科学] 从csv, xls文件中提取数据

    在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...

  3. 【VS开发】使用WinPcap编程(4)——把网络数据包存储到一个文件中

    这里用到的数据结构是pcap_dumper_t,这也是一个相当于文件描述符的东西,我们在用的时候先指定pcap_dumper_t *dumpfp; 使用两个函数来存储网络数据,一个是pcap_dump ...

  4. 将Json数据保存在静态脚本文件中读取

    一些常用的数据例如一些网站的区域信息被改变的可能性不大,一般不通过请求获取,于是我们选择存在静态文件中,例如以下Demo: 1.动态加载Json数据显示到前台 [HttpPost] public Ac ...

  5. python 将json格式的数据写入csv格式的文件中

    # coding=utf-8 import json import csv # 重新进行配置读写数据时的默认编码 import sys reload(sys) sys.setdefaultencodi ...

  6. Mapreduce读取Hbase表,写数据到多个Hbase表中

    Job端的变化: 通过设置conf,配置输出表,在reduce中获取输出表名字 Configuration conf = job.getConfiguration(); //输出表1 conf.set ...

  7. ICP编程软件配置(烧写KEIL编译后的bin文件)

    1. 安装NuMicro_ICP_Programming_Tool_1.29.6425软件 2. 打开软件后选择目标芯片后点击“连接”按钮 3. 添加程序 4. 点击设定按钮进行设定 5. 点击开始 ...

  8. [数据科学] 从text, json文件中提取数据

    文本文件是基本的文件类型,不管是csv, xls, json, 还是xml等等都可以按照文本文件的形式读取. #-*- coding: utf-8 -*- fpath = "data/tex ...

  9. 【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法

    [sql] view plaincopy --1.修改系统参数 --修改高级参数 sp_configure 'show advanced options',1 go --允许即席分布式查询 sp_co ...

随机推荐

  1. Git使用之pull request

    一直对git的使用都不熟,由于工作需要经常需要在github上pull request,第一次还是有些麻烦的,写个笔记记录下 1. fork源项目到自己的github仓库中 fork之后自己也会多出一 ...

  2. 关于Ajax的认识和封装(小记)

    一,Ajax 的概念 1,Ajax 是一种在无需重新加载整个网页(即刷新网页)的情况下,能够更新部分网页的技术. 2,Ajax 的全称是Asynchronous Javascript And XML” ...

  3. mongodb和python交互

    一.安装pymongo包 sudo pip install pymongo 二.新增数据: 增加一条: from pymongo import MongoClient client = MongoCl ...

  4. was系统的远程调试

    1.进入websphere页面 2.servers->server types->websphere application servers->点击Additional Proper ...

  5. 对象序列化Serializable

    一.Java对象的存储 首先我们先来理解一下Java对象在内存中的存储! JVM的内存分为三个部分:栈(stack).堆栈(heap).方法区(method area): 栈:主要存储基本数据类型变量 ...

  6. HashMap的hash原理

    public static void main(String[] args) { String[] keyArray = {"Terra", "Jonas", ...

  7. EDK II代码实例之Variable

    EFI_STATUS Status = EFI_SUCCESS; EFI_GUID OemOSTypeGuid = {0xd06a0bc7, 0x9feb, 0x4cbb, 0xbd, 0x78, 0 ...

  8. Html5 Page Creator,简易h5页面场景制作

  9. GitHub 常用的几条命令

    初始化仓库 git init 下载仓库 git clone 仓库地址 将所有违背跟踪的文件添加到本地仓库 git add . 查看状态 git status 执行提交 git commit -m pr ...

  10. 利用Android-FingerprintManager类实现指纹识别

    安卓指纹识别 利用FingerprintManager主类进行指纹识别. Github项目地址 在安卓6.0中新增了API,FingerprintManager类,它是Google提供的帮助访问指纹硬 ...