如何解决我如何设法在 C 中表示一个空字符 ('\0')?
我正在实现(我的第一个)C 程序,该程序在给定输入文件和密钥文件的情况下,生成与输入文件维度相同的输出文件。输出文件中的字符是输入文件中的字符和密钥文件中的字符之间进行异或运算的结果。当两个相同的字符进行异或运算(即 'a'^'a')时,结果为 '\0',这将停止考虑其余的字符。
如何以不停止计算的替代方式表示这个 '\0' 值?
我的目标是当我将输出文件与密钥文件进行异或(因为 (A XOR B) XOR B = A)并且我真的不知道如何保持时,也能够切换回原始输入文件跟踪需要转换回其原始值的零点。
这是我用来编码字符的函数:
char* encode_byte(const char *source_byte,const char *key_byte){
unsigned char s = *source_byte;
unsigned char k = *key_byte;
char encoded_byte = s^k;
char *eb_ptr = malloc(sizeof(char));
*eb_ptr = encoded_byte;
return eb_ptr;
}
编辑:非常感谢您的所有评论和耐心。我是 C 的新手,我不太喜欢消化它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。