CreateFile 如何写如非二进制

时间:2021-10-15 20:59:21
就是像 fprintf 那样写入……
顺便求下这个函数的源代码……

10 个解决方案

#1


sprintf后,在写就是了。
源代码,装了编译器就有

#2


引用 1 楼 luciferisnotsatan 的回复:
sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢,找不到调用的那个函数……

#3


引用 2 楼 m407039340 的回复:
引用 1 楼 luciferisnotsatan 的回复:

sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢,找不到调用的那个函数……


1、微软给的crt源代码,只是它的调用关系,它调用的一些函数也被封装起来或者没有公开源代码;
有的看不到是正常的;

要看所有实现代码,那么就去看glibc的实现吧

2、写入\n会出现方块类似的符号:
你用的是文本方式吧 文本方式请传入\r\n; 微软在文本式读写的\r\n有自己的特殊处理,你
要按照它的规则


#4


另外,CreateFile函数只能是二进制文件的

#5


引用 3 楼 cxsjabcabc 的回复:
引用 2 楼 m407039340 的回复:

引用 1 楼 luciferisnotsatan 的回复:

sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢……


glibc 不支持 Windows 呢……
fprintf 应该有遇到 \n 自动微修补 \r\n 的吧……

#6


用fopen得了:)

#7


引用 4 楼 cxsjabcabc 的回复:
另外,CreateFile函数只能是二进制文件的


非常感谢……

#8


引用 6 楼 taoyh2002 的回复:
用fopen得了:)


CRT 已经隔绝了……
我的工程都是直接用 WINAPI..

#9


计算机中没有非二进制,文本也是在某种格式的二进制

楼主还有什么纠结的么

#10


引用 9 楼 jackyjkchen 的回复:
计算机中没有非二进制,文本也是在某种格式的二进制

楼主还有什么纠结的么


好吧,你赢了……

#1


sprintf后,在写就是了。
源代码,装了编译器就有

#2


引用 1 楼 luciferisnotsatan 的回复:
sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢,找不到调用的那个函数……

#3


引用 2 楼 m407039340 的回复:
引用 1 楼 luciferisnotsatan 的回复:

sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢,找不到调用的那个函数……


1、微软给的crt源代码,只是它的调用关系,它调用的一些函数也被封装起来或者没有公开源代码;
有的看不到是正常的;

要看所有实现代码,那么就去看glibc的实现吧

2、写入\n会出现方块类似的符号:
你用的是文本方式吧 文本方式请传入\r\n; 微软在文本式读写的\r\n有自己的特殊处理,你
要按照它的规则


#4


另外,CreateFile函数只能是二进制文件的

#5


引用 3 楼 cxsjabcabc 的回复:
引用 2 楼 m407039340 的回复:

引用 1 楼 luciferisnotsatan 的回复:

sprintf后,在写就是了。
源代码,装了编译器就有


有些不解,我写的类型就是 char *,sprintf 后结果应该不变……
写入 \n 后还是会出现 方块 似的换行符…… \r\n 没问题,但 fprintf 单写入 \n 不会……
CRT 的那个看不懂呢……


glibc 不支持 Windows 呢……
fprintf 应该有遇到 \n 自动微修补 \r\n 的吧……

#6


用fopen得了:)

#7


引用 4 楼 cxsjabcabc 的回复:
另外,CreateFile函数只能是二进制文件的


非常感谢……

#8


引用 6 楼 taoyh2002 的回复:
用fopen得了:)


CRT 已经隔绝了……
我的工程都是直接用 WINAPI..

#9


计算机中没有非二进制,文本也是在某种格式的二进制

楼主还有什么纠结的么

#10


引用 9 楼 jackyjkchen 的回复:
计算机中没有非二进制,文本也是在某种格式的二进制

楼主还有什么纠结的么


好吧,你赢了……