C++实现单张图片读取和保存

 更新时间:2018年09月24日 12:06:43   作者:一棹烟波  
这篇文章主要为大家详细介绍了C++语言读取和保存单张图片的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用C++实现对单张图片的读取和保存,C语言可以参考,比较简单。

#include<iostream>
 
using namespace std;
 
 void main(void)
 {
 //保存输入图像文件名和输出图像文件名
 char InImgName[10];
 char OutImgName[10];
 //图像数据长度
 int length;
 //文件指针
 FILE* fp;
 //输入要读取的图像名
 cout<<"Enter Image name:";
 cin>>InImgName;
 //以二进制方式打开图像
 if ( (fp=fopen(InImgName, "rb" ))==NULL )
 {
  cout<<"Open image failed!"<<endl;
  exit(0);
 }
 //获取图像数据总长度
 fseek(fp, 0, SEEK_END);
 length=ftell(fp);
 rewind(fp);
 //根据图像数据长度分配内存buffer
 char* ImgBuffer=(char*)malloc( length* sizeof(char) );
 //将图像数据读入buffer
 fread(ImgBuffer, length, 1, fp);
 fclose(fp);
 //输入要保存的文件名
 cout<<"Enter the name you wanna to save:";
 cin>>OutImgName;
 //以二进制写入方式
 if ( (fp=fopen(OutImgName, "wb"))==NULL)
 {
  cout<<"Open File failed!"<<endl;
  exit(0);
 }
 //从buffer中写数据到fp指向的文件中
 fwrite(ImgBuffer, length, 1, fp);
 cout<<"Done!"<<endl;
 //关闭文件指针,释放buffer内存
 fclose(fp);
 free(ImgBuffer);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C语言深入讲解语句与选择结构的使用

    C语言深入讲解语句与选择结构的使用

    这篇文章主要为大家介绍了C语言的语句与选择结构,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • linux之sort命令的用法

    linux之sort命令的用法

    sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
    2013-10-10
  • C语言数据结构顺序表的进阶讲解

    C语言数据结构顺序表的进阶讲解

    程序中经常需要将一组数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化,顺序表则是将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示
    2022-04-04
  • Windows下Qt打包自动寻找依赖的DLL

    Windows下Qt打包自动寻找依赖的DLL

    本文介绍了两种在Windows下使用Qt打包应用程序并自动寻找依赖DLL的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • C++语言io流处理基本操作教程示例

    C++语言io流处理基本操作教程示例

    这篇文章主要为大家介绍了C++语言io流处理的基本操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • Visual Studio 2019修改编码UTF-8的实现

    Visual Studio 2019修改编码UTF-8的实现

    这篇文章主要介绍了Visual Studio 2019修改编码UTF-8的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C语言实现文件读写功能流程

    C语言实现文件读写功能流程

    这篇文章主要介绍了C语言实现文件读写,文件是一段数据的集合,这些数据可以是有规则的,也可以是无序的集合。在stdio.h有一个非常重要的东西,文件指针,每个文件都会在内存中开辟一块空间,用于存放文件的相关信息
    2022-12-12
  • VC++中HTControl控件类之CHTRichEdit富文本编辑控件实例

    VC++中HTControl控件类之CHTRichEdit富文本编辑控件实例

    这篇文章主要介绍了VC++中HTControl控件类之CHTRichEdit富文本编辑控件,是一个比较实用的功能,需要的朋友可以参考下
    2014-08-08
  • C++与QML交互的项目实践

    C++与QML交互的项目实践

    本文主要介绍了C++与QML交互的项目实践,将详细介绍C++与QML的交互方式,包括在QML中调用C++函数和在C++中访问QML元素,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • C++实现LeetCode(96.独一无二的二叉搜索树)

    C++实现LeetCode(96.独一无二的二叉搜索树)

    这篇文章主要介绍了C++实现LeetCode(96.独一无二的二叉搜索树),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论