当前位置: 技术问答>linux和unix
读取属性文件中字符串出现莫名错误
来源: 互联网 发布时间:2016-11-11
本文导语: 我在驱动中建立了一个属性文件,存放了一段字符串如下: kxtf9sensor kionix 1.0 20 然后在shell里用cat命令读取能够得到完整的字符串,但是在应用程序里用如下代码 ...
我在驱动中建立了一个属性文件,存放了一段字符串如下:
kxtf9sensor
kionix
1.0
20
然后在shell里用cat命令读取能够得到完整的字符串,但是在应用程序里用如下代码
fd = open("文件路径/文件", O_RDONLY)
read(fd, buf, 128);
读出来的buf却只有第一行字符串,用fopen,fgets也一样,这是为什么?
纠结了一天。。。
kxtf9sensor
kionix
1.0
20
然后在shell里用cat命令读取能够得到完整的字符串,但是在应用程序里用如下代码
fd = open("文件路径/文件", O_RDONLY)
read(fd, buf, 128);
读出来的buf却只有第一行字符串,用fopen,fgets也一样,这是为什么?
纠结了一天。。。
|
还不是必现,那你得先研究下什么情况会出现了,。
|
用fgets肯定只能读一行,可以考虑试试fread
用read应该可以读完整的内容呀,而且我刚才试过了,确实可以。
难道用驱动建立的文件很特殊吗?试试用vi写一个同样的文件,然后用你的应用程序来读,结果什么样?
用read应该可以读完整的内容呀,而且我刚才试过了,确实可以。
难道用驱动建立的文件很特殊吗?试试用vi写一个同样的文件,然后用你的应用程序来读,结果什么样?