QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1915|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    1 d7 r, \0 ?8 Z! ?/ u, O#include <iostream.h>" e# Z. }4 ?& s2 r4 }
    #include <stdio.h>
    6 z9 p9 X" _" k0 [$ J1 x5 [#include <math.h>
    / L/ W7 d' R7 f: [6 Q2 Ftypedef unsigned char BYTE;
    # ^6 y- j6 u& }. M8 K6 x6 Zlong Ary2DW (unsigned char p[4]){
    . M: \" M& B2 V4 }6 Q; e- Yint a0,a1,a2,a3;unsigned long A;- _" t- J/ @, S9 ~* J& D6 E% ~
    a0=int (p[0]); a1=int (p[1]);
    , _  J. _% ~; E3 E) c/ Wa2=int (p[2]); a3=int (p[3]);
    & f6 z+ \" i5 D" w0 x) eA=a3*256*256*256+a2*256*256*256+a0;8 r& P4 ?3 \8 N$ a; g
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    " c; j! V* b# y* W2 r! H, C& l' vtypedef struct tagBITMAPFILEHEADER {$ r9 }3 r: ]6 {4 D5 \
    BYTE bfType[2];BYTE bfSize[4];  b3 ?4 z* ~* ]0 w9 ^
    BYTE bfRcserved1[2];/ H$ V$ j3 ^% X. \
    BYTE bfRcserved2[2];
      K& v  w/ o0 P: |( E0 H! nBYTE bfoffBits[4];
    8 i, b3 C+ t% @& \' {}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型2 ?- M4 w5 X8 w9 s
    typedef struct tagBITMAPINFOHEADER {  R9 B/ w8 k' v: T1 z
    BYTE biSize[4];7 Y2 V5 U2 ^0 X9 c) M' P7 k$ l
    BYTE biWidth[4];  M0 P. B/ ]" Z3 ~- ^4 G$ k/ X
    BYTE biHeight[4];
    $ |8 ]3 H( T7 F- z* o  bBYTE biCompression[4];
    5 V: h: h* W3 y( @0 y! x9 i6 F: RBYTE biXPelsPerMeter[4];
    7 N+ U  j1 C  V) m# eBYTE biYPelsPerMeter[4];* H. I+ R2 I) H4 W8 T
    BYTE biClrUsed[4];8 p, W( b  d: q0 ~% ~% O: k; v
    BYTE biClrImportant[4];
    " _5 q0 d+ Q' W2 D' o}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型2 G2 i. {& x7 s) K) ]
    typedef struct BitmapFile{
    9 M/ y  E+ d7 e3 B! D1 cBITMAPFILEHEADER bmfheader;0 q6 m# m( i  `  J6 c3 G
    BITMAPINFOHEADER bminfoheader;
    8 H! q6 n4 F, v' y' _BYTE bitmapdata[3275520];# ?3 |+ I" @8 O% `, R. x
    }bitmap;//定义所处理图像文件对应BMP的文件格式
    ( B6 b4 ~  |, X. e5 [  \. a6 M//主函数,将图像区数据读入B、G、R三个数组
      O6 B$ A0 w8 ?3 R7 G, m" \int main()
    ; _2 t! f( Y* N4 Z{
    6 V/ T. Y+ K  D  I# dbitmap *ample1;
    3 ?" S8 {9 C5 ^; I% x% TFILE *fp, *fp1;
    1 A/ C" D- S% c- w# gBYTE R[1280][853],G[1280][853],B[1280][853];9 g' K  n7 a, M5 b2 N+ X* x9 v! g- |
    long k=0;
    . M; g' ?" @) X$ x$ D, ~5 ^int i,j;1 ?5 N; |; H7 d7 K. Q* T
    char name[20]="try.bmp";//读到新文件的文件名
    9 s1 G& x7 M7 Kfp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    8 ]- m; H- c( E* ~9 V$ V& B* {- i, hfp1=fopen(name,"wb");//为写建立一个新文件名$ p( E) S  ?: Z+ T
    if(! (ample1=new bitmap)){
    ; g3 J- O5 F0 xcout<<"error"<<endl;return 0;
    " q: `- R; x! F* ?; M% w}
    ( V) B- S6 O" Pelse( a' X( F& Y% U
    {
    ; A" L5 y3 v  z1 D* g: Yfread(ample1,sizeof(bitmap),1,fp);- @; k) f8 H7 J' ]+ v! @# g0 r
    fwrite(ample1,sizeof(bitmap),1,fp1);
    / X- F0 r" d0 v6 n8 xcout<<"********位图文件头格式:********"<<endl; 0 G& x/ s; V2 f' F% {
    cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    ( j7 N- x; j! |( i& S' Hcout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;8 }( w  ~- N. m/ r9 i: c  s! n
    cout<<"********以下是图像数据区********"<<endl;$ I, G* G* z. o; p3 p5 ~
    //指定像素点,以16进制输出BGR值) P) A4 t: z' I# G
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;. {8 E. C. ~6 H( x( r5 L
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
    5 r5 y* w0 K2 e* C7 t# qcout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;4 b! P7 V' A' G5 [' [  [0 l
    //将图像区数据读入 R、G、B三个数组
    6 V+ {, O& C$ o# ofor(i=1280; i>=0; i--)- e2 |: |4 k# w0 b( q+ |
    for(j=0; j<853; j++)
    & R8 H; q8 `9 O8 f$ A  f* M{8 m# j6 ^. ~0 E2 V% M7 G
    B[i][j]=ample1 -> bitmapdata[k++]; * L; T! ]9 d( T' |
    G[i][j]=ample1 -> bitmapdata[k++]; - h5 k" X" T# e4 |; f. _/ M- Z
    R[i][j]=ample1 -> bitmapdata[k++];
    ! E4 i5 u! b/ [& u}/ \  N. [2 K' O' }2 S1 x
    //检查是否将图像数据读入数组6 q* w2 |" s' U# a' D4 z) U2 T3 \
    cout<<"********以下是内存数组数据********"<<endl;0 l8 A/ S" S) y
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
      N5 L, N( k+ S* h  r. ], Zcout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;& K( m3 }% a/ _% E0 D
    return 1;4 F4 R) ?/ C& G5 J
    }9 |; D! Z) L, ?5 q9 V
    delete ample1;) r' w/ \0 k  U* D& D7 S# V
    fclose(fp); & W$ |1 p8 C4 j4 l; {, E
    fclose(fp1);+ z- X, ?/ `. r9 |0 J
    }
    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, 2024-4-29 02:27 , Processed in 0.266584 second(s), 51 queries .

    回顶部