数学建模社区-数学中国
标题:
ntd.dll难住机器人发烧友
[打印本页]
作者:
wangzheng3056
时间:
2013-7-25 17:54
标题:
ntd.dll难住机器人发烧友
我为做机器人自学C++编程,在网上找了个程序改了一下。调试该程序总报错,因为ntd.dll的原因,无匹配的字符信息。我想把我C:\windows\system32\ntd.dll删除后,再下载一个新的ntd.dll替换,老的ntd.dll删不掉。请教专家们啦,看看我这程序错哪。
5 z% A9 w; P( R- ~0 ]
#include <iostream.h>
* ?9 }6 Q* o9 W: z' _( k( F
#include <stdio.h>
- Z5 N! X' G# f3 \/ V$ w P. |7 p; {
#include <math.h>
# u( i3 E. U# J
typedef unsigned char BYTE;
$ b9 o1 f- l8 G% ]9 F5 x
long Ary2DW (unsigned char p[4]){
: O4 f9 Q' c, Q
int a0,a1,a2,a3;unsigned long A;
2 Z- a! [+ c4 o7 P5 @3 V+ l
a0=int (p[0]); a1=int (p[1]);
! j0 h; [: l2 I9 ^5 U& }" ]
a2=int (p[2]); a3=int (p[3]);
. y. W# N, [1 \4 a
A=a3*256*256*256+a2*256*256*256+a0;
3 z% n+ J. C! V8 q3 l
return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
/ Z! ?0 Q8 _0 L {6 i/ U
typedef struct tagBITMAPFILEHEADER {
5 o" K& N; r0 n
BYTE bfType[2];BYTE bfSize[4];
. M/ T# d% S- P
BYTE bfRcserved1[2];
|, J% G& R- J; J
BYTE bfRcserved2[2];
5 C% e+ C2 v4 }, z
BYTE bfoffBits[4];
& t+ {% }2 ^: K, I6 r
}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
) x. w3 j& B( u0 W: \. F/ P( L* D
typedef struct tagBITMAPINFOHEADER {
5 ~" F: c+ c; K/ G P- C
BYTE biSize[4];
4 u6 u+ M9 P$ k2 a2 ~( I. ]4 F' I
BYTE biWidth[4];
5 q3 ]' Y2 a- G/ m9 x# E6 ~. E
BYTE biHeight[4];
+ o- d% B C& ?8 g
BYTE biCompression[4];
. i0 [8 y( A! J8 X* ~4 X* j
BYTE biXPelsPerMeter[4];
/ N7 C0 P3 ~& e1 x
BYTE biYPelsPerMeter[4];
" j: w, a- Q# k
BYTE biClrUsed[4];
/ P9 F" ]' a, t3 L( ]
BYTE biClrImportant[4];
- ~+ J I$ Q% V& T4 h
}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
# }4 Y m- F, M- n
typedef struct BitmapFile{
+ E! }) Q( H# y: r6 Z2 u/ G' a1 Y
BITMAPFILEHEADER bmfheader;
5 c' c2 d' G7 `1 |4 M
BITMAPINFOHEADER bminfoheader;
/ M& t+ ]9 D2 e/ h! ]3 Q2 v
BYTE bitmapdata[3275520];
, s$ b$ ?3 Y$ e: H+ J2 ` r
}bitmap;//定义所处理图像文件对应BMP的文件格式
2 s7 a2 N( ?5 a4 D- d2 ~
//主函数,将图像区数据读入B、G、R三个数组
6 h5 c- ^' @# l% B9 x, r9 Y
int main()
# W/ _. I q2 F; ^: Z ^
{
& E- q0 U* `+ m
bitmap *ample1;
- w# q: P+ x( W6 s
FILE *fp, *fp1;
2 }9 W! u- D. y9 Y! ~3 P
BYTE R[1280][853],G[1280][853],B[1280][853];
& z$ H5 q @3 N+ p2 {! O+ g
long k=0;
8 d& n3 I$ u( N; j9 P
int i,j;
& X% G1 z5 M' P* S; M/ z8 V6 V
char name[20]="try.bmp";//读到新文件的文件名
% W2 ^0 M! b& ]) S8 E
fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
' O1 a/ K" G5 l2 i) P* |0 {* B) r2 C
fp1=fopen(name,"wb");//为写建立一个新文件名
! c' N5 ~5 l4 x2 x: F
if(! (ample1=new bitmap)){
2 B9 E& W+ O. {( E9 O
cout<<"error"<<endl;return 0;
* ^: K2 o, } M
}
3 R' C/ a# Q! G" C: n) O
else
9 M7 d4 x0 Q% D6 H% N& \) y% K
{
4 b, b* x } k0 [
fread(ample1,sizeof(bitmap),1,fp);
; W( D/ M- y2 w$ ]
fwrite(ample1,sizeof(bitmap),1,fp1);
+ z- i, X+ z# f. Z9 N# S
cout<<"********位图文件头格式:********"<<endl;
; L# d0 Q" |* m6 M ?; k
cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
6 z1 w6 ]0 c) ^' L* e/ _! _: e# P: T
cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
) c& q; p( w' H( O
cout<<"********以下是图像数据区********"<<endl;
2 L0 B' W& ]0 C* Q. u- A
//指定像素点,以16进制输出BGR值
$ m' h: H1 q6 a+ S9 J0 B
cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
$ v2 L$ }! o( P- m% a/ M+ k; M$ q" H
cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
+ z, Z* K3 U& r; _
cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
5 W! Z/ s1 Q2 O t: x9 L
//将图像区数据读入 R、G、B三个数组
! Q, U7 \9 c ?. i: y# M0 ^! v
for(i=1280; i>=0; i--)
- F9 Y; I7 |6 U) }/ a% L" u
for(j=0; j<853; j++)
6 D4 [! j/ v* u- ~
{
8 ~# k( B' h% A) `* P) k
B[i][j]=ample1 -> bitmapdata[k++];
1 f+ C7 `' E* z# e7 P
G[i][j]=ample1 -> bitmapdata[k++];
x2 B, w4 T" M9 @4 z: [
R[i][j]=ample1 -> bitmapdata[k++];
" t4 u: y+ c1 j7 d. K8 i: {
}
. ~8 K5 {2 [& R& q& @' t$ [
//检查是否将图像数据读入数组
* T3 j1 j4 ]( L* U+ L0 V- S0 k
cout<<"********以下是内存数组数据********"<<endl;
# c4 ]1 Q3 I( L+ F9 ^
cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
5 d8 R* b4 T p& K( \6 t O
cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
, z5 y; A: v/ o1 ~
return 1;
' D" ?" h' F) H; h
}
2 m" z# p$ _/ E5 o5 _: O1 A
delete ample1;
8 z: j* x8 L. M% }+ H
fclose(fp);
. q' W& {) H% f" q
fclose(fp1);
* d4 x# U8 d/ o2 K( c& ]
}
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5