【开发日志】C#/C++传参:注意字符串终止符
2016-07-22 10:13
288 查看
char nulstr = '\0'; cout<<nulstr<<endl; nulstr = '/0'; cout<<nulstr<<endl;
问题:C#通过byte[]数组写入ACSII编码的字符串,C++通过char*指针接收,并且有一个字符串合法性的判断(通过strlen来判断),结果程序有时候可以获取字符串,有时候则会出现字符串非法的错误
原因:不能通过strlen来判断C#传进来的字符串,问题的根源在于字符串终止符!因为C#的byte[]数组并没有在最后一个byte中写入'\0'字符
相关文章推荐
- Opencv+C++之身份证识别(一)
- UVA 101 The Blocks Problem
- Opencv+C++之人脸识别二
- Opencv+C++之人脸识别
- C++ 字符串,字符数组,数字之间转换
- POJ 2506 - Tiling
- 无符号整数
- Detected memory leaks!内存泄漏,溢出,内存越界问题分析
- c++ 的输出格式控制
- Leetcode 371. Sum of Two Integers (Easy) (cpp)
- C++中多态的实现原理
- <<More Effective C++>>读书笔记2: 运算符
- POJ 2109 - Power of Cryptography
- C++学习之路(1) 类和对象,命名空间,标准库和std命名空间
- 汉诺塔,递归初步算法。
- C语言变长数组data[0]【总结】
- C/C++的内存泄漏检测工具Valgrind memcheck的使用经历
- C语言setpriority()函数:设置程序进程执行优先权
- C语言getpriority()函数:取得程序进程执行优先权
- C语言nice()函数:改变进程优先顺序