首页 新闻 会员 周边

c语言追加方式想文件里面写东西

0
悬赏园豆:10 [待解决问题]

int fd1= open("./encrypt1.txt",O_RDWR|O_CREAT|O_APPEND,0777);

int write_len = write(fd1,base_e,strlen(base_e));
printf("write_len: %d\n\n",write_len);

结果0x90 0xb2 0x7f 0x31 0x97 0x9e 0x2e 0xfa 0x92 0xe2 0xe5 0x54 0x67 0x5a 0xe7 0x0b 0xe7 0x36 0x29 0x98 0xe9 0x67 0x19 0xed 0xbf 0x83 0xa0 0x1f 0x33 0x7c 0x5e 0x28 0x5e 0xa6 0x7e 0xb8 0x44 0xda 0xa5 0x0e 0xfd 0x7c 0x22 0x97 0xe7 0x90 0xb3 0x9f 0x9c 0x9a 0x0a 0xd0 0xb0 0xd1 0x4a 0x26 0x45 0xbe 0x5a 0x3a 0x78 0x86 0x11 0xea 0x45 0x0a 0x4f 0x6b 0x82 0xb5 0x1f 0x55 0x7f 0xa6 0x9e 0x05 0xe5 0xbb 0xa0 0xfa 0x6a 0x2a 0x56 0xbe 0x37 0x56 0xb9 0x65 0x7d 0x79 0x4f 0xd1 0x7a 0x9e 0xc7 0x6d 0xf0 0xa3 0xc7 0x26 0x75 0xe4 0xe2 0x0f 0x9f 0x4a 0x4d 0x46 0x38 0x94 0xb1 0xa6 0xe3 0x94 0xf9 0x3a 0xce 0x9e 0xaa 0x1a 0x6c 0x73 0x01 0xd7 0x07 0x47 0x8b 0x17 0x40 0x5a 0x58 0x6e 0x5e 0x8d 0xc0 0xab 0x76 0x5b 0x0f 0x68 0xaa 0x6a 0x75 0x39 0xd1 0xeb 0xd8 0x47 0xff 0x2b 0x3b 0xbe 0x45 0xe7 0x8d 0xfb 0xea 0xcf 0xff 0xc6 0x6c 0xd1 0xa7 0x5c 0x42 0x42 0xd6 0xd4 0x33 0xcc 0x45 0xc0 0x4b 0xda 0x71 0xc4 0xca 0x46 0xa3 0xe6 0x0e 0xfe 0xdc 0xb8 0x34 0x80 0x57 0x8b 0x50 0xb6 0xf9 0xba 0x9e 0x05 0xd5 0x93 0x1f 0x11 0x34 0xa2 0x4f 0x68 0xf8 0xea 0x83 0x79 0x3d 0xb5 0x5f 0xfa 0xa9 0xb5 0x21 0x81 0xad 0x4a 0x42 0xc6 0x27 0x40 0x1e 0x69 0xf2 0x74 0xfc 0xad 0xd4 0xc5 0x88 0x46 0x77 0x27 0xd8 0xfe 0x29 0x4c 0x6c 0x43 0x10 0x89 0xf1 0xa8 0x6c 0x15 0xe1 0xb0 0x14 0x01 0xdd 0x8b 0xf8 0x85 0x40 0x52 0x3e 0x27 0x28 第二次追加写入的时候多了一个0x40,这是为什么。0x40之前是第一次写入的内容,之后是第二次写入的内容,可是这个0x40哪来的啊??

life清者自清的主页 life清者自清 | 初学一级 | 园豆:76
提问于:2016-10-13 17:56
< >
分享
所有回答(1)
0

这个方法使用是对的,0x40 是@,估计是base_e里的内容吧

如果不是文本文字,最好使用O_BINARY模式写

2012 | 园豆:21230 (高人七级) | 2016-10-14 08:30

base_e是base64解码之后的内容,我是先分段rsa加密再编码,然后全部解码再分段解密,然而全部解码后之前分段编码之间会多一个@也就是0x40,不知道为什么

支持(0) 反对(0) life清者自清 | 园豆:76 (初学一级) | 2016-10-14 09:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册