QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2568|回复: 0
打印 上一主题 下一主题

ntd.dll难住机器人发烧友

[复制链接]
字体大小: 正常 放大

937

主题

117

听众

3万

积分

升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    跳转到指定楼层
    1#
    发表于 2013-7-25 17:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    我为做机器人自学C++编程,在网上找了个程序改了一下。调试该程序总报错,因为ntd.dll的原因,无匹配的字符信息。我想把我C:\windows\system32\ntd.dll删除后,再下载一个新的ntd.dll替换,老的ntd.dll删不掉。请教专家们啦,看看我这程序错哪。
    . V0 Z8 x. J/ c9 L3 K. J- p#include <iostream.h>
    : T4 K  c. f+ z+ f4 C2 k#include <stdio.h>
    6 S) B; m5 E/ }+ O, `#include <math.h>
    $ r7 R3 S$ }9 k* L4 ^1 Etypedef unsigned char BYTE;
    4 g7 }& F2 C# K0 E4 rlong Ary2DW (unsigned char p[4]){
    ; R  r5 R6 y1 [5 bint a0,a1,a2,a3;unsigned long A;
    3 Y! S! i" a. Y. Za0=int (p[0]); a1=int (p[1]);1 T; i# G1 \5 T9 J) B' g
    a2=int (p[2]); a3=int (p[3]);
    : o" c5 C- x7 J; WA=a3*256*256*256+a2*256*256*256+a0;
      |1 g) G( C( Freturn A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    * \2 a1 l" A$ l! K/ W/ Ctypedef struct tagBITMAPFILEHEADER {3 Z8 @6 [' D. q- U
    BYTE bfType[2];BYTE bfSize[4];
    % f7 G: t, j/ C; ]1 aBYTE bfRcserved1[2];
    6 }% u; g" D% f5 O& T* z' x1 pBYTE bfRcserved2[2];
    6 L. y( _- B. U) xBYTE bfoffBits[4];
    : W& o; a! L9 ^5 G}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    7 H* B. o, b) Utypedef struct tagBITMAPINFOHEADER {
    ' S' F9 M% I7 W4 D9 DBYTE biSize[4];
    / ~  M/ U" U9 u4 g# ?# l5 I: p4 pBYTE biWidth[4];: v  m, g- o/ i9 s
    BYTE biHeight[4];5 M) R/ ~( @) A; Y9 W0 S
    BYTE biCompression[4];+ B4 a5 A8 B8 X* q0 Z! @3 ?4 e
    BYTE biXPelsPerMeter[4];$ i( k1 \5 G! ^' n+ l
    BYTE biYPelsPerMeter[4];3 }; |" R% _' p$ l1 ~" `
    BYTE biClrUsed[4];
    & ?; D/ e8 S, _$ h: iBYTE biClrImportant[4];
    4 N. w" \' z/ p, W- O) u8 }}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    1 w: }3 P- d/ Q3 d! j$ K0 stypedef struct BitmapFile{
    , t% G! n8 M6 ]4 U. b& ^5 v' gBITMAPFILEHEADER bmfheader;0 q( U! q; Z" I& c
    BITMAPINFOHEADER bminfoheader;
    7 i9 G- O0 W+ O, ]( r; j5 z& QBYTE bitmapdata[3275520];* ]+ s0 M* T# l
    }bitmap;//定义所处理图像文件对应BMP的文件格式
    - e8 d" L+ e* C6 c3 H( x5 |//主函数,将图像区数据读入B、G、R三个数组+ G6 t4 Q3 ?+ M1 F# i- x
    int main()
    2 G8 L+ k+ U4 q  C{% g$ W6 E, J3 x
    bitmap *ample1;
    ! s# O  z: y: E! w% P: X! b' ~; HFILE *fp, *fp1;
    8 _! Q1 ?, p- K  D: wBYTE R[1280][853],G[1280][853],B[1280][853];
    " k( S% e& S/ J5 j) S) _- w' B9 |" klong k=0;
    8 o: j: S* E" G' \1 o* sint i,j;  @$ g5 j& W4 c$ X% m0 \6 d
    char name[20]="try.bmp";//读到新文件的文件名* R) R0 J6 K9 k9 C2 R. K2 U
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    8 P. [  ^: R- ?/ z" X: G6 U' }5 ffp1=fopen(name,"wb");//为写建立一个新文件名: w0 l2 G7 D+ a" E# c+ d
    if(! (ample1=new bitmap)){- A6 Y; u/ U9 x
    cout<<"error"<<endl;return 0;, C3 _! K+ U( q- s$ k; C. @9 t
    }
    ' j* \: f" i/ Eelse
    " s8 x7 z- g1 k: B5 A8 ]/ [2 [: e{
    6 Y! R! p; C' I8 C+ zfread(ample1,sizeof(bitmap),1,fp);) e/ X( O& g" R# ]' b8 u1 S$ R$ v
    fwrite(ample1,sizeof(bitmap),1,fp1);
    9 P1 T9 p  }, w5 s  r  z# Gcout<<"********位图文件头格式:********"<<endl; 8 j4 r: T$ O8 r
    cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;; A3 D$ D, p6 p; h9 q
    cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;) R, g1 C* n2 R) Z" E
    cout<<"********以下是图像数据区********"<<endl;
    6 ~9 _8 T! a1 m* {/ @//指定像素点,以16进制输出BGR值
    8 |5 a) V+ M# f( p/ m  f) ccout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    - R/ w& s- L' \7 p+ O3 r0 h# qcout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; ! Q  f5 N$ B( K7 H
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;; m3 }4 f& E7 e: Y
    //将图像区数据读入 R、G、B三个数组
    5 R$ Z' O$ q0 h) n; G. o- Vfor(i=1280; i>=0; i--)+ ]6 \1 T( ]* @& Z- D
    for(j=0; j<853; j++) 4 y+ k: l  P0 K2 ?: n3 w
    {7 U( {( [) s' e# |) P* l5 t1 h
    B[i][j]=ample1 -> bitmapdata[k++];
    - X4 e) _/ n5 cG[i][j]=ample1 -> bitmapdata[k++]; 7 @( h4 ~) h/ `3 b0 C+ e. a1 t
    R[i][j]=ample1 -> bitmapdata[k++];$ _# `5 u: P6 g5 Q9 r# l- M( e! H, D
    }& W6 O- G% T3 I* \  i4 o
    //检查是否将图像数据读入数组
    4 _2 t. v& {$ l% D0 y, H+ @cout<<"********以下是内存数组数据********"<<endl;
    # ]% t  n# b, ^8 j/ O3 Acout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    , w$ m' z; f6 x; M8 P9 y, E9 Z6 Ccout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    " l; h. D( J9 Y- mreturn 1;
    # c/ q( c+ D" W; s- u}
      q1 ~9 }/ G5 a& I8 sdelete ample1;
    3 @: K8 n# \+ p" P- Q  h- V8 }* y' Yfclose(fp);
    : y$ u. D  e; R- G5 Bfclose(fp1);
    ' O4 A& M, m' l; V$ m' t- H3 U8 v}
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-3 12:22 , Processed in 0.405879 second(s), 52 queries .

    回顶部