需要将数据写入到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. android sdk 安装 配置

    下载android sdk manager:http://dl.google.com/android/installer_r24.4.1-windows.exe 打开sdk manager 在tool ...

  2. 安装完Ubuntu后要做的事情

    Ubuntu 16.04安装完成后,还需要做一些配置才能愉快的使用,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的off ...

  3. IDEA SpringBoot 打包(jar)

    项目结构: sf-xxx-api sf-xxx-domain sf-xxx-common sf-xxx-web (web模块) 期望输出结果目录 bin/server.sh libs/**.jar,* ...

  4. Hadoop Mapreduce中shuffle 详解

    MapReduce 里面的shuffle:描述者数据从map task 输出到reduce task 输入的这段过程 Shuffle 过程: 首先,map 输出的<key,value >  ...

  5. 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

    2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

  6. Linux基础命令---sar显示系统活动信息

    sar sar指令用来收集.报告.保存系统的活动信息.sar命令将操作系统中选定的累积活动计数器的内容写入标准输出.会计系统根据参数“interval”.“count”中的值,写入以秒为单位的指定间隔 ...

  7. redis 在 php 中的应用(key篇)

    本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: KEY(键) DEL           ...

  8. 2、Storm中的一些概念理解

    1.Tuple,Value,Field Tuple官方解释: "A tuple is a named of values where each value can be any type.& ...

  9. mysql批量查询

    一般批量查询的时候都是in关键字,但是在数据量大的时候,效率低下. 这个时候我们就可以考虑使用union . xml 核心代码 <select id="selectList" ...

  10. 一步步学会用docker部署应用(nodejs版)

    一步步学会用docker部署应用 docker是一种虚拟化技术,可以在内核层隔离资源.因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境.这大大简化了应用部署,让运维人员无需陷入 ...