1.读取文件路径时,是双斜杠,若是是单斜杠,会出现找不到目标文件的状况html
fid = fopen("E:\\my_c\\cloud_detection\\cloud_detection\\cloud\\gray_13.txt", "rb");
2.数组使用前要进行内存分配和初始化,必定要初始化,否则有可能出现读取位置XXX时发生访问冲突的问题数组
labelmap = (int *)malloc(sizeof(int)*height*width); memset(labelmap, 0, sizeof(int)*height*width);
3.利用memset进行初始化时,初始化的数目参数是指的一个字节的字数,若是该内存每一个单元占四个字节,则须要乘以四,如2中图所示。另外可参考博客:函数
https://blog.csdn.net/yexiaohhjk/article/details/52717934.net
4.使用malloc memset等函数时,要包含 #include<memrory>指针
5.c语言中读写二进制文件用到的一些函数:code
fopen:打开一个二进制文件htm
FILE* fid; fid = fopen("E:\\my_c\\cloud_detection\\cloud_detection\\cloud\\gray_13.txt", "rb"); if (fid == NULL) exit(1);
fseek:将文件指针放到一个指定的位置blog
int fseek(FILE *fid, long offset, int fromwhere); fseek(fid, 0, SEEK_END);//将文件指针定移动到文件末尾 fseek(fid,50,SEEK_SET);//将文件指针移到离文件头50个字节的地方
参考博客:https://www.cnblogs.com/xingyunblog/p/3675568.html内存
fread和fwrite分别从二进制文件中读数据或写数据get
(1)size_t fread ( void * ptr, size_t size, size_t count, FILE * fid );
其中,ptr:指向保存数据的指针;size:每一个数据类型的大小;count:数据的个数;fid:文件指针
函数返回读取数据的个数。
(2)size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * fid );
其中,ptr:指向保存数据的指针;size:每一个数据类型的大小;count:数据的个数;fid:文件指针
函数返回写入数据的个数。
参考博客:https://www.cnblogs.com/xudong-bupt/p/3478297.html
ftell:该函数用于获得文件位置指针相对于文件首的偏移字节数
rewind: 将文件位置指针从新指向一个流(数据流/文件)的开头
6.C语言经常使用的头文件介绍
参考博客:https://blog.csdn.net/sinat_23338865/article/details/52150654
7.main函数的正确调用形式:
int main(int argc, char*argv[]) int main()
main函数须要返回int型数据
void main()有的编译器能够经过,有的编译器不能经过。