QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2369|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    ! \" q4 W/ J8 o' U; j/ t3 X! N#include <iostream.h>
    ! ]/ x* w1 a$ A$ M( l  x#include <stdio.h>
    7 K, r) F& L4 c+ w#include <math.h>
    9 n% y) R% w& e4 {1 utypedef unsigned char BYTE;* E6 U( g' D0 H/ l
    long Ary2DW (unsigned char p[4]){! B8 l+ r) z8 L! J# r
    int a0,a1,a2,a3;unsigned long A;, m0 v- ~, L2 U* X
    a0=int (p[0]); a1=int (p[1]);
    0 R6 C: L  d) o" K( Ta2=int (p[2]); a3=int (p[3]);, G* T* W. ]& d% t
    A=a3*256*256*256+a2*256*256*256+a0;
    8 N9 B  n" B. r' }% _1 e7 lreturn A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    ; y4 }% k! z  T/ }8 j, Qtypedef struct tagBITMAPFILEHEADER {" P5 j# L" v' x% N4 N1 `5 @
    BYTE bfType[2];BYTE bfSize[4];& U) t5 ?6 J- \: }
    BYTE bfRcserved1[2];
    2 @0 [  d( ^2 V$ X9 w, y9 UBYTE bfRcserved2[2];
    , S( u/ \* R: @/ WBYTE bfoffBits[4];* a! o1 R' P- l2 e" Q3 k
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型- B8 g, }, c$ O
    typedef struct tagBITMAPINFOHEADER {
      c' o1 o3 g( U% r  D# yBYTE biSize[4];
    - Y# B$ y' \: S% W* r% ABYTE biWidth[4];
    ) I& d  h) V" Q: I$ X$ b: n# v1 }BYTE biHeight[4];7 Z0 z7 t1 O. t& q/ M
    BYTE biCompression[4];2 a$ N$ f4 v  G3 L" m
    BYTE biXPelsPerMeter[4];
    2 Z+ b. F5 j/ |- o4 C/ j5 B3 RBYTE biYPelsPerMeter[4];" H8 P9 ]7 r) n0 i$ _- g9 }
    BYTE biClrUsed[4];
    4 Q: N2 S' K0 p+ c+ C+ FBYTE biClrImportant[4];6 k- |, J* n3 m" \. N5 j2 {" l
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型5 c( q# n! `6 }
    typedef struct BitmapFile{" x. n: x* H: ^' O( \+ j
    BITMAPFILEHEADER bmfheader;
    , W8 B4 t1 N; e: RBITMAPINFOHEADER bminfoheader;/ @& J# H# c0 t0 R/ R
    BYTE bitmapdata[3275520];+ y+ p; w6 Q/ N. o
    }bitmap;//定义所处理图像文件对应BMP的文件格式
    ( c7 i' \' o% ~. l//主函数,将图像区数据读入B、G、R三个数组
    2 u* A" E( s3 T4 o0 vint main()9 K* ?" n* {9 X( V8 ~$ M; e
    {; D1 \5 n+ C' {+ c; _- A, o
    bitmap *ample1;
    9 Z- |# Z0 y5 c! R! J- f) lFILE *fp, *fp1;
    + ]( c  w7 \6 o4 N0 Q& gBYTE R[1280][853],G[1280][853],B[1280][853];
    8 z3 \3 Y2 c$ T" _: X; _long k=0;
    0 s6 ]2 g4 a8 C8 Y; {8 ~* fint i,j;. F7 {3 f6 `/ r
    char name[20]="try.bmp";//读到新文件的文件名
    4 ?& V0 ?) R: T2 j) i4 U- sfp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件7 h, y- [" u9 o3 U4 G  H
    fp1=fopen(name,"wb");//为写建立一个新文件名) h# D# V9 y" [5 \5 S1 _6 N7 J
    if(! (ample1=new bitmap)){9 f/ ]5 H1 Q. ]6 Z" t
    cout<<"error"<<endl;return 0;
    # D8 ~: N/ |5 L! D, ?3 Q}) M9 b6 E& K/ X+ Z6 A
    else
    , A+ _; ^) g( m3 }{% x  W( D& j0 Q7 |- i6 _8 X2 u
    fread(ample1,sizeof(bitmap),1,fp);
    , |, N/ l$ ]6 A4 ], Tfwrite(ample1,sizeof(bitmap),1,fp1);. n+ U, _2 Q3 X# y; H
    cout<<"********位图文件头格式:********"<<endl;
    ; t+ \$ n; |1 O- i" ]1 i. y( }+ [$ Ucout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;, m4 Q$ x$ ]4 v* u
    cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;7 z4 I: @! J! K; j7 g& W3 _
    cout<<"********以下是图像数据区********"<<endl;
    , @" L" p' X6 M- J0 f  t( M//指定像素点,以16进制输出BGR值
    0 J; k2 F0 i. F" L0 W) `6 dcout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;. M  S* \: u$ S$ |! M6 v* k
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; ' ~: _! a, E. F+ y$ q4 T
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
    % Y( v2 \. l" x/ h1 p//将图像区数据读入 R、G、B三个数组
    3 a8 g. y! L3 m1 K) Lfor(i=1280; i>=0; i--)
    $ b% e' B# y! I1 Z$ ^& Q, [" ^for(j=0; j<853; j++)
    + L5 u' y3 E. ^$ G9 J+ L{7 K$ a7 P7 q; x6 I% E9 o5 z) h# D9 |
    B[i][j]=ample1 -> bitmapdata[k++]; " V2 W2 Z- ^6 u  N' e
    G[i][j]=ample1 -> bitmapdata[k++]; " R' l1 O5 g) g$ h) Q" o
    R[i][j]=ample1 -> bitmapdata[k++];% V# L) w/ g2 M% y; `& \9 J1 i
    }1 W' A* n+ J7 K" d
    //检查是否将图像数据读入数组
    2 S+ I. v# k( \, ?; f# qcout<<"********以下是内存数组数据********"<<endl;
    ) ?( G- p: t6 P. `1 o& i/ J) k( kcout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;! R$ B; j' b& Z: V9 e
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    ; S; v: C; R3 O- Wreturn 1;9 V5 h) q8 S5 Z/ Z
    }
    ( Q3 K' A7 u+ D% C4 k$ ?delete ample1;! t# ^" K5 v0 q6 L/ S( t) Z' k$ p
    fclose(fp);
    : B* r  M* x% }6 I8 T0 U# ifclose(fp1);1 N9 A8 m5 W% i4 T# E
    }
    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, 2025-8-1 08:14 , Processed in 0.354669 second(s), 51 queries .

    回顶部