M.D*_*Dev 0 c java-native-interface serial-port
我已经编写了从USB端口读取的程序(未连接任何东西)。从Java中我传递了int filedescriptor和字节数组,在jni中,我将字节数组转换为char *并使用了read()。
jbyte *bufferPtr2 = (*env)->GetByteArrayElements(env, buf, NULL);
unsigned char* d_data2 = (unsigned char*)bufferPtr2;
n = read(fd, d_data2, lengthOfArray);
Run Code Online (Sandbox Code Playgroud)
执行后,n = 1,但d_data2为空。为什么是这样?read()是否将空字符读取为数据?
该
read()功能应尝试nbyte从与打开的文件描述符关联的文件中读取字节fildes到所指向的缓冲区中buf。
读取的字节的实际值无关紧要。
所以是的,read()将读取NUL字节。
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |