QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2603|回复: 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 s5 f% e- R! G9 L1 F  W#include <iostream.h>2 F5 t2 v  v$ D$ q6 c
    #include <stdio.h>8 y5 g: N4 }% d
    #include <math.h>
    0 s  j, ^" |( s  n7 }8 B5 f) _7 `( Dtypedef unsigned char BYTE;' d* s2 u( b- X2 ?
    long Ary2DW (unsigned char p[4]){
      a3 c0 H) n" i. W7 ], B: O; D- _0 Fint a0,a1,a2,a3;unsigned long A;
    / |5 J( K$ P0 D- c) N+ sa0=int (p[0]); a1=int (p[1]);0 ]1 V( g0 M. [7 |) N" L
    a2=int (p[2]); a3=int (p[3]);
    7 P- m$ L& `" E% c- K, iA=a3*256*256*256+a2*256*256*256+a0;4 u9 W; s1 C# R0 d
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值 ; s2 {8 E' \( {
    typedef struct tagBITMAPFILEHEADER {5 h4 h* \7 y. Q  G- O1 y
    BYTE bfType[2];BYTE bfSize[4];1 K+ [% F+ p! v9 r5 j& c  x# ~0 j4 S
    BYTE bfRcserved1[2];
    & Y4 b% D; ^' W) {2 cBYTE bfRcserved2[2];
    2 D  q2 K- V, kBYTE bfoffBits[4];1 P8 Y  m  M% E0 u! W9 a+ X  P6 z
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型3 Z1 Y1 I8 s' C. _) F
    typedef struct tagBITMAPINFOHEADER {2 }, J% C) O, W+ H+ p* f5 x& c
    BYTE biSize[4];/ e; d  m2 N/ D0 M! s/ h
    BYTE biWidth[4];% f: t7 P; w7 T1 f. Y
    BYTE biHeight[4];
    4 s1 X9 S  U3 O; `BYTE biCompression[4];: w, x2 `& `7 e0 `
    BYTE biXPelsPerMeter[4];4 w/ A! d; \: {9 i+ G4 x
    BYTE biYPelsPerMeter[4];
    . I. ~4 h  J3 O5 _BYTE biClrUsed[4];2 {8 Q; S2 P/ {  y* S  q7 p
    BYTE biClrImportant[4];" n/ x( W, o' V* T7 `
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型5 a% q3 U- _- I0 _8 U( X
    typedef struct BitmapFile{
    % n$ V; i7 f' y5 mBITMAPFILEHEADER bmfheader;8 ?3 K3 X& x* p4 Y: i/ f# L  D
    BITMAPINFOHEADER bminfoheader;1 G: [  `. S0 ~; Z% B4 F. }
    BYTE bitmapdata[3275520];8 X4 }- c* x" f6 E! q
    }bitmap;//定义所处理图像文件对应BMP的文件格式6 {2 \7 R  O1 n
    //主函数,将图像区数据读入B、G、R三个数组
    ( ]1 f+ l% _0 F( Pint main()
    6 J8 C# q; ~6 |4 [9 _4 G- w2 ?8 E{- W8 m1 n) ]- \- k* x  j7 m
    bitmap *ample1;2 ~  d6 M  s3 i' _, b% ^5 u/ Q8 y
    FILE *fp, *fp1;) W2 D  C  y/ G* d* J4 J* v
    BYTE R[1280][853],G[1280][853],B[1280][853];
    ( S9 \. i+ k* \1 t' xlong k=0;) Q% R/ a' J, \2 f( F& ^: p9 f  i
    int i,j;
    ' [: O& T$ o& E/ _' Bchar name[20]="try.bmp";//读到新文件的文件名
    - P" ?! W$ M' {* b- s. f7 g8 Efp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件3 ~4 l0 J8 L1 p; J# b7 N) j
    fp1=fopen(name,"wb");//为写建立一个新文件名
    & j' d/ n+ v; y; Qif(! (ample1=new bitmap)){/ @0 u0 N- }6 y
    cout<<"error"<<endl;return 0;
    , h1 G; ?  t* Q- E2 ], \1 i8 `# a8 N}
    " W  ]; p& J! q/ B& Jelse5 Q" ^0 L& \  X; E7 K1 ]4 X
    {" Y2 o+ p- w# |! G# B7 Q0 h1 c
    fread(ample1,sizeof(bitmap),1,fp);* `. X- I: e2 Y; x! }
    fwrite(ample1,sizeof(bitmap),1,fp1);! W4 a8 y5 E3 T
    cout<<"********位图文件头格式:********"<<endl;
    " @' _, ]1 |; A- ncout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    3 ]1 k# B/ ^9 ~: E& }, V- l3 Wcout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    6 E, [0 |/ D2 w0 Wcout<<"********以下是图像数据区********"<<endl;) g) e+ f# x+ ~/ m& I0 z+ V
    //指定像素点,以16进制输出BGR值; i3 O6 s; G7 `/ ^, W# ]
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    " t8 k% a" I( W0 h$ D0 H! ocout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; $ l, W2 x: K; p& [3 W$ Z
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;3 U+ Y6 ]8 }3 X7 Y6 g0 h( c" N/ s/ \
    //将图像区数据读入 R、G、B三个数组# {5 l4 L. A! k9 S
    for(i=1280; i>=0; i--)
    . p8 h1 x8 D( A; q. U- N. }for(j=0; j<853; j++) - x9 |. Z: K/ ^% r0 f# _0 h
    {: ^; Y4 K( y7 d/ A; k
    B[i][j]=ample1 -> bitmapdata[k++];
    * ?/ `% Y  t! C4 F+ o( z: W/ ZG[i][j]=ample1 -> bitmapdata[k++]; 8 [  `9 v/ x: `. N$ j, r
    R[i][j]=ample1 -> bitmapdata[k++];
    ! G& g9 k/ W+ W}6 d8 g# p5 t  ^# c9 t; h. y
    //检查是否将图像数据读入数组
    - i3 r8 E9 n4 o7 y$ C9 ucout<<"********以下是内存数组数据********"<<endl;# h  ]5 z) H6 b' E% w9 b) {: z
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;7 `/ o& B$ S3 [. a+ b- z$ y
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;1 U; a5 s6 z, ?6 s  L2 g0 C
    return 1;9 T4 x- g  p7 I  ]( k3 H  j
    }
    . a7 c& ?. B  jdelete ample1;7 l' b+ \$ V  W; p4 P& @' n7 N
    fclose(fp); : s" [6 V7 u# M, X1 h) K
    fclose(fp1);* E. k4 X8 M( l" y+ [, C& ?: g% S
    }
    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-19 14:16 , Processed in 0.495326 second(s), 52 queries .

    回顶部