unsigned char txt[]={"aaaaa"};
char a="aaaaa";
char b="bbbbb";
我想让txt的值为 aaaaabbbbb
请问该怎么写呢。
还有我可以对a和b进行异或运算吗?
和C51没有关系, 基本都是C的东西.
引用: 引用楼主 LongBow007 的帖子:
unsigned char txt[]={"aaaaa"};
char a="aaaaa"; // 这种方法不对
char b="bbbbb";
我想让txt的值为 aaaaabbbbb
请问该怎么写呢。
还有我可以对a和b进行异或运算吗?
想把两个字符串连接方法很多, 可以使用库函数. 也可以通过内存直接拷贝操作...
unsigned char txt[]={"aaaaa"};
char[] a="aaaaa";
char[] b="bbbbb";
是不是这样就可以了。
怎么使用库函数或者内存直接拷贝呢。 还有可以对a和b进行异或运算吗?
库函数好像是strcat()吧, 内存拷贝就是使用memcpy();
异或运算应该是可以的.
unsigned char txt[]={"aaaaa"};
char a="aaaaa";
char b="bbbbb";
我想让txt的值为 aaaaabbbbb
第一个,你的TXT的空间不够。。。
会溢出,破坏你的内存其它变量的空间
最简单的办法是,定义一个足够大的TXT
请问该怎么写呢。
可以用LS说的用STRING。H里的库函数
也可以用FOR循环,一个一个赋进去
还有我可以对a和b进行异或运算吗?
可以进行异或运算
不过运算只是ASCII码值的异或
第一个,你的TXT的空间不够。。。
unsigned char txt[]={"aaaaa"}和unsigned char txt[50]={"aaaaa"}不一样啊?
而且好像 unsigned char txt[100]={"aaaaa"}; 不行 提示错误:
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C_START
MODULE: STARTUP.obj (?C_STARTUP)
ADDRESS: 000DH
Program Size: data=9.0 xdata=0 code=15
"d" - 0 Error(s), 2 Warning(s).