QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2608|回复: 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删不掉。请教专家们啦,看看我这程序错哪。- a# x- `3 U& u
    #include <iostream.h>
    0 Z$ y( _) S/ ~8 d#include <stdio.h>
    : o7 ?" E6 k& U#include <math.h>
    . F- m0 S6 d8 c" r9 V% B6 otypedef unsigned char BYTE;
    3 S+ b( n0 M) G5 ]. Rlong Ary2DW (unsigned char p[4]){
    " G3 a2 |$ c& y9 X. i3 p' Cint a0,a1,a2,a3;unsigned long A;" B# N! L. i1 K0 ~
    a0=int (p[0]); a1=int (p[1]);) g' i) W1 T1 v
    a2=int (p[2]); a3=int (p[3]);# t: @; \% Y8 a' Q( W
    A=a3*256*256*256+a2*256*256*256+a0;& s6 X4 Y2 ~3 J+ X( ^
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值 5 @( J" f$ @* j: U1 e
    typedef struct tagBITMAPFILEHEADER {
    " f; Z5 U* A- D+ ~BYTE bfType[2];BYTE bfSize[4];1 b# ]* E" `  ]/ _) g
    BYTE bfRcserved1[2];
    % q' g( }0 W* C% U3 D+ d/ ?/ Y& G, KBYTE bfRcserved2[2];
    + E% {1 L) V' v9 B* [4 uBYTE bfoffBits[4];
    3 j0 v  N$ }7 V0 M5 g}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    + w: g: G" m* H$ B  s# |1 Ztypedef struct tagBITMAPINFOHEADER {& C$ E# l* }& G5 K$ |! K. P
    BYTE biSize[4];
    : A; ], K$ C: n( N; @  s! f6 `BYTE biWidth[4];
    7 z( }. z9 ~" d3 UBYTE biHeight[4];
    0 _1 S0 E4 i  k( t- |3 ^/ bBYTE biCompression[4];' N# X" j7 ]) d+ a/ b* \+ A  r5 [
    BYTE biXPelsPerMeter[4];
    / D) r3 L- a. l% q7 E& e6 S3 J& cBYTE biYPelsPerMeter[4];. R3 M8 w; q  u% T; d/ {
    BYTE biClrUsed[4];
    # V' @  F# Q% oBYTE biClrImportant[4];
    / b; g! u6 N2 O1 s$ i. v; m2 s}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型9 |' [  |& X& e! Q: l* W; g
    typedef struct BitmapFile{
    3 {' Y3 {7 W6 b. Y5 J* \' R5 @5 ^BITMAPFILEHEADER bmfheader;) `2 l6 C$ t  K# d/ B
    BITMAPINFOHEADER bminfoheader;
    $ M4 y2 o8 `6 N2 ^4 ~BYTE bitmapdata[3275520];! _3 ]: Z/ r) [9 t# W9 Q
    }bitmap;//定义所处理图像文件对应BMP的文件格式
    . E+ S2 O' K) M4 ]: q! R1 j//主函数,将图像区数据读入B、G、R三个数组6 H* p, j- C; e4 L% z  I
    int main()
    3 B; q0 }2 E& U/ x4 M" _) T{% _6 d* L* [5 X
    bitmap *ample1;' x% O7 ^) V. a7 p
    FILE *fp, *fp1;1 b$ r( p+ G! X) U# s
    BYTE R[1280][853],G[1280][853],B[1280][853];
    " {3 S4 n4 z4 c+ ?( r' ^+ Ylong k=0;
    # t% ^6 q! C( cint i,j;
    1 f- l7 T( j4 @8 L0 ?/ O& gchar name[20]="try.bmp";//读到新文件的文件名
    5 j7 g% E$ s+ K9 X' [# q4 z! j. ufp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    * S. S& X& {$ Y3 ?  A+ B; _fp1=fopen(name,"wb");//为写建立一个新文件名8 G  h1 e. S" e3 n
    if(! (ample1=new bitmap)){, |( l! t' |# f7 `; g( m- F
    cout<<"error"<<endl;return 0;6 E0 k. v3 D' Q  Q) {+ a
    }
    7 M! }% A  T1 v3 l( S7 xelse0 q* m4 X0 `) g! l- b6 q% G/ ]
    {
    1 Q1 h8 V# p8 x. ^( bfread(ample1,sizeof(bitmap),1,fp);4 K( z  W) b6 x. x: X
    fwrite(ample1,sizeof(bitmap),1,fp1);# F, m( s. X7 g  A# Z# Z" }
    cout<<"********位图文件头格式:********"<<endl;
    + K4 |( e  c/ @cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;8 H# p" V- ~! {7 l' [' Z1 S2 r5 I
    cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;, O8 R" o. V* e9 j6 D) c; X8 v: o
    cout<<"********以下是图像数据区********"<<endl;7 I, M5 L5 x  m% p9 p5 _) j: }! K  ]
    //指定像素点,以16进制输出BGR值
    4 o4 d* Z$ g+ |) Xcout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;& R7 y' Y( O- Z; e0 Y
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; 5 W" p' r) O& o7 R
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;1 g- l; J* C0 Z" ^/ E# Y
    //将图像区数据读入 R、G、B三个数组, t+ y) S, c) F9 f
    for(i=1280; i>=0; i--)
    3 y& B  N) ^, K$ t3 J2 [+ _for(j=0; j<853; j++)
    6 ]2 ]0 l1 x3 o+ z# L{
      N" i/ {. Z( E6 u# t" K3 HB[i][j]=ample1 -> bitmapdata[k++]; # _8 S, X5 W! W5 P
    G[i][j]=ample1 -> bitmapdata[k++]; 3 X6 |4 L6 p% h
    R[i][j]=ample1 -> bitmapdata[k++];7 J& n* r9 X0 A# A: I/ j) h1 \
    }4 i4 R3 V8 s8 l0 h1 E. q& p* M
    //检查是否将图像数据读入数组
    0 {7 r  ]5 \$ Y, S6 t* N$ Zcout<<"********以下是内存数组数据********"<<endl;
    , ~* G4 j, h+ R7 pcout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;$ D9 u* X. A( \* ~3 G6 ?
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;& W# E+ v- \6 i) x' n
    return 1;
    : Q$ r& K$ _. Y8 Y! K/ o/ U. J}
    7 S/ ?/ I% k' ]4 f& j  ?) Ldelete ample1;1 o  T0 t4 T4 c6 D& |" h
    fclose(fp);
    * K7 v$ Z* Q! v; z& ifclose(fp1);: Q4 S5 i4 Q9 e) G5 v3 R
    }
    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-7-20 12:52 , Processed in 0.388792 second(s), 52 queries .

    回顶部