下面关于文件锁的描述错误的是
A、Linux的文件锁用于解决多个进程同时读写一个文件时的共享和冲突问题 B、一个文件如果先被一个进程加了读取锁进行读操作的时候,其他进程仍可以对该文件添加读取锁进行读操作
C、由应用程序实现的建议性文件锁可以对文件的部分内容加锁 D、一个文件如果先被一个进程加了写入锁进行写操作的时候,其他进程仍可以对该文件添加读取锁进行读操作 正确答案: D
数组buff存放了一个字符串,下面那个选项不能将字符串输出到终端显示 A、fwrite(buff,1 sizeof(buff),stdout) B、fputs(buff,stdin) C、puts(buff)
D、printf(\正确答案: B
关于Linux的多路复用下面哪个说法是错误的 A、可通过select函数实现多路复用 B、可通过poll函数实现多路复用
C、多路复用可提高对多个如管道、网络、串口等IO读写时的效率
D、采用多路复用方法时,Linux内核将同时对多个文件IO进行监听,当所有文件IO都准备好时函数返回 正确答案: D 5
下面对串口通讯termio结构类型的变量newtio配置如下,其作用是 newtio.c_cflag &= ~CSIZE;//去除位掩码 newtio.c_cflag |= CS8; A、设置停止位设为1为 B、设置奇校验
C、设置字符长度为8位 D、设置字符长度为7位 正确答案: C 6
关于文件描述符下列说法错误的是
A、文件描述符是调用open()函数打开一个文件时,Linux内核返回给用户进程的返回值,用于指向该文件
B、标准输出文件的文件描述符是固定值1 C、同一个文件被不同的进程打开,那么每个进程获得指向该文件的文件描述符一定是相同的 D、同一进程中打开两个不同的文件,获得两个文件描述符值一定是不相同的 正确答案: C
下面哪个代码可实现将文件指针定位至文件头向后100字节处 A、lseek( fd, 100, SEEK_SET ); B、lseek( fd, 100, SEEK_END ); C、lseek( fd, -100, SEEK_SET ); D、lseek( fd,-100, SEEK_END ); 正确答案: A
下面文件操作的编程流程正确的是
A、打开文件——读取数据——添加读取锁——关闭文件
B、打开文件——添加读取锁——读取数据——添加写入锁——写入数据——解锁——关闭文件
C、打开文件——添加写入锁——写入数据——解锁——关闭文件 D、打开文件——添加读取锁——读取数据——关闭文件——解锁 正确答案: C
下面哪个选项可以将串口通讯波特率设置为115200 A、
cfsetispeed(&newtio, B115200); cfsetospeed(&newtio, B115200); B、
newtio.c_cflag |=115200; newtio.c_iflag |=115200; C、
newtio.c_cflag &=115200; newtio.c_iflag &=115200; D、
newtio.c_cflag |=11520; newtio.c_iflag &=11520; 正确答案: A
下面函数中不属于API函数的是 A、open() B、read() C、printf() D、select() 正确答案: C
以写入方式打开文件名为/tmp/datafile.txt的文件,如果文件名不存在则创建该文件,属性为对文件拥有者具有可读可写属性,其他用户都只有可读属性,返回值放入变量fd,出错则结束进程。请写完成代码填空
if( (dest_file = open(\{ printf(\ exit(1); }
在Liunx中,所有的设备文件一般都位于/dev目录下,比如串口1对应的文件名一般为/dev/ttyS0
Linux系统中内核进程和用户进程是独立运行在不同的存储空间,内核进程运行在内核空间,用户进程运行在用户空间。
标准I/O提供了3种类型的缓冲存储全缓冲 行缓冲 不带缓冲。
使用基本文件IO函数open()打开一个文件时,返回指向文件的文件描述符;使用fopen()打开一个文件时返回指向流缓冲的FILE指针/指针。
请根据程序上下文补充横线中的关键代码 main() {
struct flock lock; lock.l_whence = SEEK_SET; lock.l_start = 0; lock.l_len =0;
....... //打开文件获得文件描述符fd
;设置结构变量lock的锁类型属性 ;// 并调用fcntl函数 ...... //向文件写入数据
;//设置结构变量lock的锁类型属性, ; 并调用fcntl函数 ...... //关闭文件 }
lock.l_type = F_WRLCK; fcntl(fd, F_SETLKW, &lock); lock.l_type = F_UNLCK; fcntl(fd, F_SETLK, &lock);
Linux的基本文件IO函数read() 和 write()以字节为单位对文件读写数据
对串口读写之前先要完成串口配置,通常需要配置的内容包括波特率,字符大小,奇偶校验位,停止位。