1 #include<iostream> 2 3 using namespace std; 4 5 void main(void) 6 { 7 //保存输入图像文件名和输出图像文件名 8 char InImgName[10]; 9 char OutImgName[10]; 10 //图像数据长度 11 int length; 12 //文件指针 13 FILE* fp; 14 //输入要读取的图像名 15 cout << "Enter Image name:"; 16 cin >> InImgName; 17 //以二进制方式打开图像 18 if ((fp = fopen(InImgName, "rb")) == NULL) 19 { 20 cout << "Open image failed!" << endl; 21 exit(0); 22 } 23 //获取图像数据总长度 24 fseek(fp, 0, SEEK_END); 25 length = ftell(fp); 26 rewind(fp); 27 //根据图像数据长度分配内存buffer 28 char* ImgBuffer = (char*)malloc(length* sizeof(char)); 29 //将图像数据读入buffer 30 fread(ImgBuffer, length, 1, fp); 31 fclose(fp); 32 //输入要保存的文件名 33 cout << "Enter the name you wanna to save:"; 34 cin >> OutImgName; 35 //以二进制写入方式 36 if ((fp = fopen(OutImgName, "wb")) == NULL) 37 { 38 cout << "Open File failed!" << endl; 39 exit(0); 40 } 41 //从buffer中写数据到fp指向的文件中 42 fwrite(ImgBuffer, length, 1, fp); 43 cout << "Done!" << endl; 44 //关闭文件指针,释放buffer内存 45 fclose(fp); 46 free(ImgBuffer); 47 }
C++读取与保持图片
猜你喜欢
转载自www.cnblogs.com/hsy1941/p/10568168.html
今日推荐
周排行