- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C语言实现文本文件/二进制文件格式互换由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中。然后再将二进制文件还原并存入a3.txt文件.
具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#include <cstdio>
#include <stdio.h>
#include <string.h>
#define NSIZE 8
void
print_2(
int
val2);
/***********文本文件转二进制**********/
void
Text2Bin(
const
char
* sIn,
const
char
* sOut){
char
a[255];
int
count = 0;
int
ch;
for
(
int
j=0; j<255;j++)a[j]=
'\0'
;
FILE
* fin=
fopen
(sIn,
"r"
);
FILE
* fout=
fopen
(sOut,
"w"
);
for
(
int
i=0 ; i<=255 ; i++)
fscanf
(fin,
"%c"
,&a[i]);
for
(
int
k=0 ; k<=254&&a[k] !=
'\0'
; k++)
{
ch = a[k];
for
(
int
a=7;a>=0;a--)
fprintf
(fout,
"%d"
,ch>>a&1);
//fprintf(fout,"\n");
}
fclose
(fin);
fclose
(fout);
}
/***********二进制文件转文本文件**********/
void
Bin2Text(
const
char
* sIn,
const
char
* sOut){
FILE
* fin=
fopen
(sIn,
"r"
);
FILE
* fout=
fopen
(sOut,
"w"
);
char
str[255*8];
for
(
int
r=0; r<255 ;r++) str[r]=
'\0'
;
int
i = 0, j = 0, iTemp = 0, flag = 0;
int
ibina[NSIZE];
char
cRead[NSIZE];
char
cChar;
for
(
int
a=0 ; a<=255 ; a++)
fscanf
(fin,
"%c"
,&str[a]);
//for(int f=0 ; f<=255 ; f++)printf("%c",str[f]);
while
(flag <= 255){
//printf("%d",flag);
for
(
int
b=flag ; b>=flag && b<flag+NSIZE ; b++)
{
//printf("%d",b%8);
cRead[b%8] = str[b];
//printf("%c",cRead[b%8]);
}
for
(i = 0; i < NSIZE; i++)
{
ibina[i] = (cRead[i]-
'0'
);
}
iTemp = 1;
cChar = 0;
for
(j = 7; j >=0 ; j--)
{
//printf("%c",ibina[j]);
//printf("%d\n",cChar);
cChar+=ibina[j]*iTemp;
iTemp *= 2;
}
printf
(
"%c"
,cChar);
fprintf
(fout,
"%c"
,cChar);
flag=flag+8;
}
fclose
(fin);
fclose
(fout);
}
int
main(){
Text2Bin(
"d:\\a1.txt"
,
"d:\\a2.txt"
);
Bin2Text(
"d:\\a2.txt"
,
"d:\\b2.txt"
);
printf
(
"\nSuccessfully converted file!\n"
);
return
0;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/C_address/article/details/49767545 。
最后此篇关于C语言实现文本文件/二进制文件格式互换的文章就讲到这里了,如果你想了解更多关于C语言实现文本文件/二进制文件格式互换的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
有没有办法使用 Clojure format(基于 java.util.Formatter)或 cl-format(基于 Common Lisp 的format) 以编程方式设置空格填充?如果您事先知
我正在尝试创建一个用户实体以及数据/文件(pdf格式)。上传并保存到数据库很好,但是当我让用户进入 postman 时尝试发送获取请求方法,然后在数据字段中显示一些糟糕的数据,而且我无法在数据库中看到
我必须将值为 {"STX","ETX"} 的普通字符串数组转换为十六进制值,并且我应该根据 http://www.asciitable.com/ 得到 {2,3} . 最佳答案 听起来你想要一个 Ma
我想格式化我的代码,但不确定哪种格式类型最适合我的项目需要。 我发现仅对于 dart 和 flutter 项目(我都有),有不止一个选项可用于格式化编程语言/框架中预先构建的代码。 Dart : da
我已经尝试了多个代码,例如这样 Sub DateFixer() Application.ScreenUpdating = False Application.Calculation =
SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.add("wt","csv"); server.query(query)
我有一个包含多个字符串的数据库,我从查询中获取了这些记录,并且我在 QString 中收到了这种格式的数据: "Mon, 13 Nov 2017 09:48:45 +0000" 所以,我需要根据文化来
我有一个 Delphi 2007 DBGrid,我想让用户以更新的 Excel 格式 (OOXML) 保存它,但我的标准是用户不需要安装 Excel。有没有人知道任何已经这样做的组件?是的,我已经搜索
我正在我们的普通 html 站点旁边创建一个移动站点。使用 rails 3.1。移动站点在子域 m.site.com 中访问。 我已经定义了移动格式(Mime::Type.register_alias
我正在尝试使用 xmlstarlet 格式化 xml 文件,但我不想创建新的 xml 文件。 我试过了 xmlstarlet fo --inplace --indent-tab --omit-decl
我在 A 列中有一个带有文本的电子表格。 例如 A1=MY TEXT1 A2=MY TEXT2 A3=MY TEXT3 A4=MY TEXT4 A5=MY TEXT5 我想在文本的前后添加撇号 结果是
我想做一些源代码转换(自动导入列表清理),我想保留注释和格式。我听说过一些关于解析器这样做的事情,我认为是 ghc 解析器。 看起来我可以通过从文件中提取内容来使用 hs-src-exts Langu
我在 Excel 中工作,我想根据另一张表中的列表找出一张表中是否有匹配项。 我已将值粘贴到列表中,并希望从另一张表中返回它们的相应值。包含字母和数字的单元格可以正常工作(例如:D5765000),但
我有一个 DurationField在我的模型中定义为 day0 = models.DurationField('Duration for Monday', default=datetime.time
我正在为我的应用程序开发 WMI 查询。它需要为给定的 VID/PID 找到分配的虚拟 COM 端口。使用 WMI Code Creator 我发现...... 命名空间:root\CIMV2 类:W
我试图弄清楚如何使用 NSTextList,但除了 this SO question 之外,在网上几乎没有找到有用的信息。和 the comment in this blog . 使用这个我已经能够创
我要查询all_objects表在哪里last_ddl_time='01 jan 2010'但它拒绝日期格式... 任何机构给我查询的确切格式? 最佳答案 正如 AKF 所说,您应该使用 Trunc除
我试图在我的应用程序中实现聊天功能。我使用了 2 个 JEditorPane。一个用于保存聊天记录,另一个用于将聊天发送到前一个 JEditorPane。 JEditorPane 是 text/h
我在大学里修了一个编译器类(class),内容非常丰富,很有趣,尽管也很多工作。既然给了我们要实现的语言规范,所以我学不到的一件事就是语言设计。我现在正在考虑创建一种有趣的简单玩具语言,以便我可以玩耍
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我是一名优秀的程序员,十分优秀!