数学建模社区-数学中国

标题: ntd.dll难住机器人发烧友 [打印本页]

作者: wangzheng3056    时间: 2013-7-25 17:54
标题: ntd.dll难住机器人发烧友
我为做机器人自学C++编程,在网上找了个程序改了一下。调试该程序总报错,因为ntd.dll的原因,无匹配的字符信息。我想把我C:\windows\system32\ntd.dll删除后,再下载一个新的ntd.dll替换,老的ntd.dll删不掉。请教专家们啦,看看我这程序错哪。, x) @  E: _$ R8 ?# e9 d2 ], F
#include <iostream.h>1 [) \) t4 Z8 v/ a! [
#include <stdio.h>
$ s3 p; x  o, r6 s( z3 o#include <math.h>
# D) F+ [; q7 S8 N- P9 Y& \3 htypedef unsigned char BYTE;2 w2 s* X6 ~9 r8 ~% H+ e
long Ary2DW (unsigned char p[4]){$ p1 s5 D1 M- |( H% i4 o
int a0,a1,a2,a3;unsigned long A;4 o9 h" d2 `7 H0 s/ r0 B5 |2 c# ]* g
a0=int (p[0]); a1=int (p[1]);% O" }4 m( L7 D( p' b1 q
a2=int (p[2]); a3=int (p[3]);
; `$ t9 B* L. T7 ^5 k' Z/ O8 V" JA=a3*256*256*256+a2*256*256*256+a0;& q$ K/ O3 R( }. i
return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
3 _  E5 n4 q& E. v) h0 S8 Stypedef struct tagBITMAPFILEHEADER {
- w( X. K; ~5 _2 c" y; A. y& ^BYTE bfType[2];BYTE bfSize[4];
+ {" n; Z  Q$ g, rBYTE bfRcserved1[2];
' r3 U- l8 t2 x9 w/ w! NBYTE bfRcserved2[2];
* c! T; `- Z2 |5 d, oBYTE bfoffBits[4];
7 B7 }1 L- H+ H1 w" S7 Y- ]}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型) K) V+ W+ m3 a9 u
typedef struct tagBITMAPINFOHEADER {
- D, F; I* q2 LBYTE biSize[4];/ a3 B- g# r$ g* D
BYTE biWidth[4];0 [4 K1 n. |0 W# j* s& |
BYTE biHeight[4];2 m9 i8 S+ s5 G5 d1 u9 t8 [
BYTE biCompression[4];
6 ^: u, o3 T! ABYTE biXPelsPerMeter[4];7 M9 [5 c* e9 F* a; L
BYTE biYPelsPerMeter[4];7 r+ L- S: n8 _3 N; N0 J
BYTE biClrUsed[4];" w" `% k) D' a- g% t
BYTE biClrImportant[4];
: f4 N% g# H; v+ V}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
# y) {3 ^  U4 l( Q  K/ K4 ?' Ntypedef struct BitmapFile{# v0 I1 B0 M+ y
BITMAPFILEHEADER bmfheader;# g1 k3 D, c. C# R8 K4 K/ r
BITMAPINFOHEADER bminfoheader;
. w. W+ l3 v3 {% {2 d# ?BYTE bitmapdata[3275520];
8 C  j' w' S. A0 ^; h" |}bitmap;//定义所处理图像文件对应BMP的文件格式
6 X, h# ^$ D7 ?6 V//主函数,将图像区数据读入B、G、R三个数组
. W( n7 T& M$ {( A; gint main()
6 Y+ q  r0 S9 e/ G- }! m* G{) j* n7 D; g, v" ^; {/ [5 v6 n9 D
bitmap *ample1;
+ h, I* ?: ?6 ]FILE *fp, *fp1;6 i$ ~; ^( i; J7 H+ d6 {$ b! D- `
BYTE R[1280][853],G[1280][853],B[1280][853];
: {6 m, \& \% P& A8 Clong k=0;
& c5 I) b8 g4 E0 J1 o/ u( Oint i,j;- Q7 p: n2 M4 |
char name[20]="try.bmp";//读到新文件的文件名0 T+ P7 W5 T$ x4 ^/ w* W; z
fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件' D9 a/ {/ n1 P$ N3 c- U
fp1=fopen(name,"wb");//为写建立一个新文件名
, F8 W0 b' p' i! L9 n1 Dif(! (ample1=new bitmap)){( c2 D" _  }6 R1 j/ s- {8 M; l
cout<<"error"<<endl;return 0;; d1 V) E* c/ E5 u; S0 E4 T' F+ X
}# K; O# \& t+ J% d; }$ @3 j* x
else
% a/ X$ Q- ^* ^# ?{4 Q; P9 A6 w$ f* q* U! j! u
fread(ample1,sizeof(bitmap),1,fp);
! ]2 b' L$ B7 f2 m8 y5 lfwrite(ample1,sizeof(bitmap),1,fp1);% h4 a! {- E3 K1 H- d8 p& @5 l
cout<<"********位图文件头格式:********"<<endl; & _. q/ ]; h! C0 L; g9 I+ l
cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
6 @. u3 _+ ~6 h5 vcout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
, x# R1 M; [( D4 [cout<<"********以下是图像数据区********"<<endl;7 _$ J2 c! [' z0 w; y, H3 ~) g
//指定像素点,以16进制输出BGR值
' L  N; {  _7 S8 wcout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;; O8 R# t1 p* k# r( v/ \) {
cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; $ B% f: C) Y4 H4 d
cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
" r3 a% u5 O5 [3 k5 A//将图像区数据读入 R、G、B三个数组7 r9 f# v0 P) c/ @% X  C
for(i=1280; i>=0; i--)
2 j9 u! k+ ~- [, ^" [) A: h8 @" ?for(j=0; j<853; j++)
' L7 E$ W9 ?  u, g# ?4 G# D1 x9 o{
+ q# q, Z7 P% m9 s; _$ ?! kB[i][j]=ample1 -> bitmapdata[k++]; 7 v0 [* G8 `- z" f  P- l
G[i][j]=ample1 -> bitmapdata[k++]; 6 P. t( ^) D2 _  r* Y. B& O
R[i][j]=ample1 -> bitmapdata[k++];
' k4 o3 V+ _, W% t7 v5 j}
5 Y) M5 m2 R( j3 G* u) k6 e! k//检查是否将图像数据读入数组* s- }2 B8 Z/ c4 Y9 c3 z' y
cout<<"********以下是内存数组数据********"<<endl;& t1 Z3 x3 d. S  k* P3 a
cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;$ o" j( H+ J( k# _- c2 p- z
cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
# E2 e5 x) J' _2 G( o% xreturn 1;! b0 A' z' W( e+ D1 ~6 _( h
}4 A9 W1 M/ F& S7 ^* ~8 ^" ~
delete ample1;, h% F1 W8 F7 C5 e6 E6 {
fclose(fp);
5 Q; N* }1 k, s( cfclose(fp1);
7 E7 a: j. b5 z; e}




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5