gpt4 book ai didi

c - C中特殊字 rune 件的读写

转载 作者:行者123 更新时间:2023-12-02 10:22:57 24 4
gpt4 key购买 nike

使用C语言,我试图操作一些由openssl生成的文件,其中包含很多(非常)特殊的字符。但文件结尾似乎被过早检测到。例如,请参阅我的程序的摘录,该摘录应该将一个文件复制到另一个文件:

(为了简单起见,我没有显示文件打开的测试,但我在我的程序中这样做)

char msgcrypt[FFILE];
FILE* fMsg = fopen(f4Path,"r");
while(fgets(tmp,FFILE,fMsg) != NULL) strcat(msgcrypt,tmp);
fclose(fMsg);
FILE* fMsg2 = fopen(f5Path,"w");
fprintf(fMsg2,"%s",msgcrypt);
fclose(fMsg2);

这是位于 f4Path 的文件的内容:

Salted__X¢~xÁïÈú™xe^„fl¯�˜<åD

现在位于 f5Path 的文件内容:

Salted__X¢~xÁïÈú™xe^„fl¯

请注意,缺少 4 个字符。

有人有想法吗?

最佳答案

But the end of file seems to be prematurely detected

听起来很熟悉。

  • 打开文件时使用fopen(f4Path, "rb")。这在 Windows 上具有真正的意义。
  • 不要使用字符串函数(fprintfstrcatfgets 等),它们会因 NUL 而卡住人物。请改用 freadfwrite

关于c - C中特殊字 rune 件的读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com