今天编写了一个测试程序(运行在Linux环境下),其中要将一些命令字符串预先保存在一个文件中,然后测试程序从文件中读取这些命令串。这些命令串中,字段与字段之间是用“\t”分隔符分开,每个命令串的结束,还要用“\r\n”结尾。
开始时,我只是简单的将这样的命令串,比如“305\t00:14:22:9C:22:9B\t10.1.10.17\t\r\n”直接保存到文件中。但是运行测试程序的时候,命令格式总是提示错误。我刚开始以为是从文件中读取命令串的函数有问题,但是经过反复试验,发觉不是读取文件的问题。通过将读取的字符串的每个字符打印显示,才突然想到,原来是这个分隔符在文件中就是以单独的字符存放的,而不是他们代表的意思了。(即“\t”就是'\'和't',而不是TAB键)
既然找到了问题所在,那就在文件中保存的时候,就直接键入Tab键和回车键。但是,在linux下的回车键只代表“\n”,而在windows下的回车键才表示“\r\n”,所以,将这个命令串文件先在windows下建好,再传到linux下,这样,终于将问题解决了。