使用非阻塞技术实现行读写。原理是通过判断每次读取的内容中是否包含EOL,如果含有EOL,函数返回本次读取的长度,保存读取的文本内容;如果读取的内容不包含EOL,缓存中的数据进行追加,并同时增加当前的索引值。
因为采用了非阻塞读取,当程序读取中遇到“阻塞错误”时,程序返回0E0,交由上层进行处理,注意此错误与其它IO错误的处理方式不同。
行读取代码
测试程序
使用Getline.pm模块时,需要在与测试程序的同一目录下创建IO/Getline.pm文件。
这个程序只能够运行在Linux系统平台,windows系统程序自动退出。