摘要:通过我这些天用C++读写bmp图像的经历,摸索再摸索,终于对bmp文件的结构、操作有了一定的了解,下面就大概介绍bmp图片纯C++的读取、旋转和保存的实现过程。要用C++读取bmp图片文件,首先要弄清楚bmp格式图片文件的结构。可以参考这篇文章:http://blog.csdn.net/xiajun07061225/article/details/5813726有几点需要注意的是:在读取bmp图片的时候,一定要注意内存对齐的问题,譬如文件头,否则无法读取出正确结果。关于图片的像素数据,每一行的像素的字节数必须是4的整数倍。如果不是,则需要补齐。一般来说,bmp图像文件的数据是从下到上,从左到右
阅读全文
摘要:在VS里面写如下代码,实现两个数的相加并且显示结果: int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10); num1=atoi(ch1); num2=atoi(ch2); num3=num1+num2; itoa(num3,ch3,10); GetDlgItem(IDC_EDIT3)->SetWindowText(...
阅读全文
摘要:【1】(page38)重载构成的条件:函数的参数类型、参数个数不同。分析以下2种情况:第一种:1、void output();2、int output();第二种:1、void output(int a,int b=5);2、void output(int a);对于第一种情况,只有函数的返回类型不同是不能构成重载的。对于第二种情况,当我们在程序中调用output(5)时,应该调用哪个函数呢?调用1当然是可以的。因为1的函数第二个参数有一个默认值。当然也可以调用第二个函数。有与调用有歧义,因此这种情况不能构成重载函数。在函数重载时,要特别注意函数带有默认参数的情况。【2】(Page226)创建
阅读全文
摘要:【1】(Page171)switch-case问题对于switch-case,普遍的误解是:只有与被匹配的case标签相关联的语句才被执行。实际上,程序从该点开始执行并继续越过case边界直到switch语句结束。例如,下面记录元音字母个数的switch程序的实现就是不正确的:#include "stdafx.h"
#include <iostream>
#include "stdlib.h"
using namespace std;
int main(){ cout<<"请输入字符串:"<<end
阅读全文
摘要:【1】(Page94)代码:int staff_size=27;//错误:非const变量double salaries[staff_size];但是编译器并不报错?这是为什么?解答:用Dev C++编译能通过,但是用VS2008便报错,看来编译器很关键啊~~~~【2】(Page104)typedef char *cstring;extern const cstring cstr;请问,cstr的类型是什么?解答:cstr是指向字符的const指针。cstring是指针类型,指向char。const修饰cstring,就是修饰指针。【3】(Page133)代码://一个string的大小与它所
阅读全文
摘要:【导读】介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面、透彻地阐述 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名说明:(1)&在此不是求地址运算,而是起标识作用。(2)类型标识符是指目标变量的类型。(3)声明引用时,必须同时对其进行初始化。(4)引用声明完毕后,相当于目标变
阅读全文