QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2573|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    4 C1 F& p4 Y# T#include <iostream.h>; z+ e/ {- L. T. |: q. r
    #include <stdio.h>
    ( q$ J( j' o: l* }7 u: @5 J. j#include <math.h>9 B# m% T: B# g$ G; Y) H6 |7 J
    typedef unsigned char BYTE;
    : v! u9 \; z* }9 O1 z; nlong Ary2DW (unsigned char p[4]){
    5 ^+ T, b9 _. t% ]: D, J, C' {int a0,a1,a2,a3;unsigned long A;
    % r. d0 D% U. r4 t0 fa0=int (p[0]); a1=int (p[1]);- t* s4 N6 E% D% [
    a2=int (p[2]); a3=int (p[3]);
    ( K( L8 G# o$ u5 O/ o- X) qA=a3*256*256*256+a2*256*256*256+a0;
      ]9 R5 }' b" oreturn A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    ; B" ~" W5 M, ~typedef struct tagBITMAPFILEHEADER {  C# C/ F4 y0 K. H$ `, O
    BYTE bfType[2];BYTE bfSize[4];3 `0 W# l6 W0 t
    BYTE bfRcserved1[2];- V* `: v& G2 f1 H* C6 Z
    BYTE bfRcserved2[2];
    . b: T1 s0 a7 ?$ ^2 W+ v/ jBYTE bfoffBits[4];3 b% e9 Y: p. \4 S1 }
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    , e. N( B/ h  q4 ]typedef struct tagBITMAPINFOHEADER {/ H( @, F6 Q9 \# x
    BYTE biSize[4];- p; T; H) s+ n: |
    BYTE biWidth[4];" u" h7 \' F/ Y/ N% Q
    BYTE biHeight[4];" H0 L% j$ H3 x- U+ I* Z, k' V7 P
    BYTE biCompression[4];
    . D8 k1 a7 z. Q  i6 ]7 b+ Y) E3 D9 l& a) MBYTE biXPelsPerMeter[4];. U5 \* t6 L+ i3 h! s
    BYTE biYPelsPerMeter[4];
    + _9 t, u2 m2 B+ y3 o3 _% O$ ^( WBYTE biClrUsed[4];
    0 h  ]7 J  }2 g  r- b( a) w2 _0 ~BYTE biClrImportant[4];! i2 t7 Y1 U$ @7 m3 S
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型5 \  c+ _8 n2 n7 d+ ^
    typedef struct BitmapFile{
    + G) z3 m) i8 Q/ M3 e( gBITMAPFILEHEADER bmfheader;6 }$ D* }$ q6 c/ b4 w. A$ g8 a2 |- H. b
    BITMAPINFOHEADER bminfoheader;& t0 J2 e$ B/ c
    BYTE bitmapdata[3275520];
    6 ]" u  R( \/ w- F( T}bitmap;//定义所处理图像文件对应BMP的文件格式
    ; I3 j. ~3 e  H7 L//主函数,将图像区数据读入B、G、R三个数组
    ) L3 ~9 [# E+ f3 z( n9 \6 {5 yint main()
    - `' }) j% \& Y{) m! n+ `; v( n# |8 s+ ?! G" s9 q
    bitmap *ample1;6 l% x# i8 ^6 S6 o1 H+ ]- Q/ m0 L
    FILE *fp, *fp1;0 S% P! E! e7 a) g7 Q
    BYTE R[1280][853],G[1280][853],B[1280][853];
    # \' c6 ^* T* v" Vlong k=0;' q& _# L8 d- I) N
    int i,j;
    $ E2 R( X3 [8 W: ?+ M7 ichar name[20]="try.bmp";//读到新文件的文件名- I4 _0 e8 c* e
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    5 ^- F5 n* @$ n  y5 J& `# g, nfp1=fopen(name,"wb");//为写建立一个新文件名% V, E8 J; m" _# }% D; e6 O
    if(! (ample1=new bitmap)){
    - K( k: a$ O2 T$ i# S$ D+ z  f+ |cout<<"error"<<endl;return 0;
    1 b6 S8 ?/ X; g: d- n( X}) m' ^" _  e$ R% H  ?1 `* c
    else
    7 `4 X  s2 J. O8 y) W/ o7 J{" P& V- \# b/ b% k! ~
    fread(ample1,sizeof(bitmap),1,fp);8 B; P& p4 R. R" L& S9 j# x
    fwrite(ample1,sizeof(bitmap),1,fp1);+ }1 p6 ?: x2 b/ m+ s7 m
    cout<<"********位图文件头格式:********"<<endl;
    & |3 u, f1 m) {0 |4 H& [) [# lcout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
      \2 U+ G6 R  E+ ^. Ucout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    * t+ A9 q+ p) `) l  scout<<"********以下是图像数据区********"<<endl;
    1 r0 F. J, G0 T% q: y# j/ l/ y% L8 ?//指定像素点,以16进制输出BGR值* ?1 I7 x# t0 B6 I+ f( n" F
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;( q5 }  \) w% k1 D0 ^& x
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
    * \( y9 ^9 c# Lcout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;  l/ b  ]; y! Q& z4 J
    //将图像区数据读入 R、G、B三个数组
    3 U9 q+ C  x5 F, [% Rfor(i=1280; i>=0; i--)- ^' l) G+ K4 v% Y& Z) K6 ~! R
    for(j=0; j<853; j++)
    , C5 F# Z5 X* F. w$ `3 I$ ]{
    , l: g( E! U3 t+ F  x. a; |* x) O) yB[i][j]=ample1 -> bitmapdata[k++]; ( B$ ~4 w1 d  f/ y
    G[i][j]=ample1 -> bitmapdata[k++];
    3 N6 {' |/ C* F: O, kR[i][j]=ample1 -> bitmapdata[k++];
    2 S" B. z8 O8 D2 X0 J}/ V# T- r' H: y. a4 |
    //检查是否将图像数据读入数组
    2 y6 V. ^- \7 g8 v1 }cout<<"********以下是内存数组数据********"<<endl;
    . Q+ x1 G+ Q" J2 ^4 `, Xcout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;% J. `& U( u0 h) z
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;. |. y$ t6 v: [, M: s' U
    return 1;" {9 M) R( d5 h* V4 e) ?
    }" m/ W: D5 H- Z% D$ }
    delete ample1;1 d& |9 [3 N2 _* A2 V+ S
    fclose(fp);   \; x9 b4 W$ c- B
    fclose(fp1);; [# V4 {  t8 n9 W: l
    }
    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 15:37 , Processed in 0.426628 second(s), 53 queries .

    回顶部