C语言
坐在树下看星星
day day up
展开
-
strlen函数读字符数组常见错误之一
下面看个程序:#include <stdio.h>int main(){ char buf[4] = "abcd"; int len = strlen(buf); printf("%d\n",len);}输出结果不是4,一般可能是6,也可能是别的。为什么会这样呢?strlen()函数遇到 \0 截止,buf中4个元素没有\0 这个结束符,导致strlen读这个数组读到最后没发现\0,它会越过数组边界,读其他内存里的字符,等读到\0时,才会截止,读期间strlen的计数一直增原创 2021-03-18 16:01:49 · 1038 阅读 · 0 评论 -
fopen打开文件失败,一个小错误,一个教训!
fopen(path,mode);fopen函数第一个参数为文件路径,若要打开的文件就在当前目录下,可直接写文件名,当我们把一个变量写在第一个参数的位置上时,可能出现找不到文件的错误。原因:第一种是如果我们在socket编程里,客户端向服务器发送一个字符串变量(或服务器向客户端发送一个字符串变量),服务器(客户端)用一个字符数组去接受,如果只定义了字符数组,没有初始化这个数组,当把这个字符数组放在fopen第一个参数位置上时,会产生错误,错误码是2(找不到文件),因为我们没初始化这个数组,接受完客户端传来原创 2021-03-06 11:56:47 · 6592 阅读 · 1 评论