所以我有一个声明为:
的函数void writeFile (unsigned char *fileName, unsigned char *data)
如果我按这样调用函数:
writeFile("f.txt", "Test1");
很好。
如果我再打一次这样的电话:
writeFile("s.txt", "Test2\nline");
fileName很好,但数据已损坏(前5个字节搞乱了)。
如果我这样做第三次电话:
writeFile("f.txt", "Test3\r\nline");
fileName已损坏,数据的前5个字节搞乱了。
发生了什么事?
答案 0 :(得分:0)
我相信你的问题与使用无符号字符有关,当我把它放入我的代码时,它抱怨编译它。它可能与unsigned char无法使用\n
之类的转义字符有关,但我无法确定。
IntelliSense: argument of type "const char *" is incompatible with parameter of type "unsigned char *"
我得到编译错误。
当我将其更改为常规char *
作为参数时,它工作正常。