文章目录
前言
写了一个读取文件内容的while循环,以读取内容长度为-1作为结束符,那么为什么是-1呢?
看图
可以看到,我设定了一个长度为1024字符长度的char数组来接收内容为192.168.1.3的字符串
将内容读取完后,进入下一个循环,可以看到用来判定字符长度的len获取到的值为-1,于是循环结束
![在这里插入图片描述](https://img-blog.csdnimg.cn/5924c37a248742dd83fd16b271a492ab.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlkYXNoZW50,size_20,color_FFFFFF,t_70,g_se,x_16)
获得的数组内容为
可以看到字符读取器将获得的文件内容从unicode编码转化为字符格式
如果从数组中读取到’\u0000’则默认为已经为空,没有数据了,已经到了数据的末尾
事实上这是new char[1024]时自动赋值的
由此,数组创建时如果不默认赋值,事实上都已经默认赋值了,int数组默认为0填充,char类型默认为一个特殊的不可见字符
![在这里插入图片描述](https://img-blog.csdnimg.cn/1bd05000b67644b4b0e335caf07576cf.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlkYXNoZW50,size_14,color_FFFFFF,t_70,g_se,x_16)