QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2602|回复: 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删不掉。请教专家们啦,看看我这程序错哪。3 I! K4 b# r8 |3 R
    #include <iostream.h>
    0 e& O, ], e, s8 u; x0 u! M7 E#include <stdio.h>8 G$ G3 m9 U1 L8 ^; h
    #include <math.h>' e, v5 L# [" T8 a: G: n
    typedef unsigned char BYTE;0 @7 M2 A6 |& n/ h, n; m, ]
    long Ary2DW (unsigned char p[4]){
    5 [7 @: z3 M* [4 p5 I1 jint a0,a1,a2,a3;unsigned long A;
    - r! A& F, d! `# N2 i5 Ca0=int (p[0]); a1=int (p[1]);
    8 F. t+ L& E( T- ?0 D$ Ua2=int (p[2]); a3=int (p[3]);
    " j  F* r! b0 X) H: R6 K8 V% x( \A=a3*256*256*256+a2*256*256*256+a0;
    5 X4 i3 A9 l& u  b$ `return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    2 s5 ]$ ?7 X, ~" ], q8 i- \9 Btypedef struct tagBITMAPFILEHEADER {$ M. L7 B6 y) n" x: Y5 K4 K- P
    BYTE bfType[2];BYTE bfSize[4];! a6 P. ?  V7 h2 p5 ^) p. \* m
    BYTE bfRcserved1[2];
    ) L0 O+ S0 e: ^3 O( U3 Y" l2 z7 V# xBYTE bfRcserved2[2];8 E: M1 g0 t5 K# W) @
    BYTE bfoffBits[4];0 _3 }) A& z1 x: A# k0 j
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型+ Q2 _% T, u* X7 D  A$ d
    typedef struct tagBITMAPINFOHEADER {
    # ?, n  i# o( |9 A$ F& @BYTE biSize[4];
    6 ~8 S' L) W9 Q+ x# e# t- u/ rBYTE biWidth[4];
    - _- i5 e3 D& xBYTE biHeight[4];6 N0 J* [! K6 x7 K( g
    BYTE biCompression[4];
    & x$ \, ]+ f2 s/ A- j9 z7 q3 DBYTE biXPelsPerMeter[4];
    $ N. k/ a- x1 d5 K: C8 J* X( H; MBYTE biYPelsPerMeter[4];
    1 l/ F. M/ ^9 F. TBYTE biClrUsed[4];
      C! ~/ m2 ~  wBYTE biClrImportant[4];
    " z: N* t9 Z* n$ ?$ X& r$ o5 Z}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    % f% p" f# ^  ~) W( ?5 etypedef struct BitmapFile{
    % ]8 l; c4 M  S! F4 EBITMAPFILEHEADER bmfheader;' Y; @5 z/ x6 O
    BITMAPINFOHEADER bminfoheader;
    & V7 ^2 ~, B3 B3 c! M5 T; uBYTE bitmapdata[3275520];: @- l# F5 j9 l  n7 V, \
    }bitmap;//定义所处理图像文件对应BMP的文件格式
    / V! F2 m7 E2 I# j% b9 W//主函数,将图像区数据读入B、G、R三个数组2 I/ M% K- C0 L! }1 z) J4 i( d& f
    int main()3 Z2 D) a6 v" Z5 W. J& q
    {( z+ K8 a$ @. |( g: ]" [( ~& x
    bitmap *ample1;5 d2 H' f6 B3 y
    FILE *fp, *fp1;
    . G: x' r5 a$ X! t0 _BYTE R[1280][853],G[1280][853],B[1280][853];
    5 n. g. U0 f& I2 m0 n% _7 slong k=0;
    3 R5 D" n5 L, `) m$ mint i,j;3 w$ H: O3 H4 K# O
    char name[20]="try.bmp";//读到新文件的文件名- O, h5 M" j* y6 j4 i4 C# P+ n
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    - d% v/ \& G/ z# ofp1=fopen(name,"wb");//为写建立一个新文件名
    8 I6 @$ q) f6 tif(! (ample1=new bitmap)){3 c# ^4 D' e- S1 m
    cout<<"error"<<endl;return 0;
    & ^6 n$ P+ L" B" t, [3 Z2 V' }}
    % L3 e6 F/ n' K0 felse! L3 c6 p# b9 B- q8 @+ m* l
    {) }/ b  Y+ V. b( q
    fread(ample1,sizeof(bitmap),1,fp);. Q. w- H$ o% Q3 X! N# C3 D
    fwrite(ample1,sizeof(bitmap),1,fp1);6 S+ x0 T( W$ J& p% k  x
    cout<<"********位图文件头格式:********"<<endl; * x$ p' t& @/ ^+ \& I
    cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    ) U" h& ^6 ~) g! @cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;2 M9 ^% }2 W! j; r- J1 u
    cout<<"********以下是图像数据区********"<<endl;0 }' _: A& j5 f; w* }* a
    //指定像素点,以16进制输出BGR值8 {4 d# o2 z' f5 o9 R. H5 k
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    / i# `) N& C) pcout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; , t" ^7 d5 ]$ y! c
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;" L$ u' d' V  F7 L- O/ s
    //将图像区数据读入 R、G、B三个数组! o' O8 T2 T* k
    for(i=1280; i>=0; i--)
    ( t: w! B5 c" Z4 a8 @for(j=0; j<853; j++)
    9 o; Y* y' J7 o/ h{0 s& O" i/ S( X7 r0 r8 _
    B[i][j]=ample1 -> bitmapdata[k++];
    - n" P4 n+ o' i/ h+ kG[i][j]=ample1 -> bitmapdata[k++];
    ! _( k. O' H& l: s1 q7 bR[i][j]=ample1 -> bitmapdata[k++];
    ( h7 J0 ?+ M. _, j/ c& A}
    " F' b; q$ ^9 P//检查是否将图像数据读入数组
    $ U3 x9 m( b; w% s) Ycout<<"********以下是内存数组数据********"<<endl;- ~: c' e# H4 y6 r: m1 z7 ?7 C
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;' d1 C5 _8 F0 F- ?3 r: r+ Z
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    , U. p7 m$ {7 ?; B- m, Xreturn 1;
    ' ~0 d+ B% S2 K) ?- `5 g9 a}* E- F+ `1 t& E& B7 v* V3 Q
    delete ample1;
    9 b6 U2 M5 i9 f8 v0 ?fclose(fp); 1 H* E  i8 l+ |& v" i5 ?7 K) J( l3 l
    fclose(fp1);- p0 g% L/ M5 h6 @( c
    }
    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 13:26 , Processed in 1.042930 second(s), 52 queries .

    回顶部