字符串写入并读出比较的坑

一、背景描述:

  由于项目想求,有些内容我需要在本地保存,下次上电获取当前信息并与文件中保存的信息进行对比,如果发生改变则将最新的信息写入文件中,并将最新的消息发送到服务器

二、问题:

  比如最新的消息存在buf[200]中,从文件中获取的字符串存储在getmsg[200],中,我并没有更改字符串的内容,可是写入并读出用strcmp(buf,getmsg)比较则偶尔会出现不一样的情况

三、解决办法

  经过打印调试发现从文件用read()读取的过程,结尾有时会多一个未知字符,如下图:

  

  想把最后一个字符去除掉,但是测试后没能实现,有懂的大神欢迎指教。

  最后用了strncmp(buf,getmsg,strlen(buf)),解决了问题。

原文地址:https://www.cnblogs.com/edan/p/10137410.html