QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2638|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    " p/ N8 P) `6 b3 @) c#include <iostream.h>
    2 F2 c; o/ C$ d  ]0 h' ?- s2 N8 I2 h#include <stdio.h>
    " c. z2 T9 {: k7 k' Q3 X) L#include <math.h>
    5 q5 p/ ?8 s6 j6 \3 Ftypedef unsigned char BYTE;6 y9 \* D: {" F- B$ J9 A
    long Ary2DW (unsigned char p[4]){
    : Z& ]: k3 v/ P( U5 `! L% wint a0,a1,a2,a3;unsigned long A;, X9 x5 W+ R) \7 d
    a0=int (p[0]); a1=int (p[1]);
    % @0 `0 |' B7 q: {& q7 Ua2=int (p[2]); a3=int (p[3]);
    # d7 V$ a& R' a: h+ M2 BA=a3*256*256*256+a2*256*256*256+a0;; X$ p; z% n* X, R5 D6 M5 ^2 c
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值 ) X! Z% p' E8 J2 D3 M% y& Y! V+ K+ ]
    typedef struct tagBITMAPFILEHEADER {
    2 o2 e+ z4 A/ G$ Q& ^) w4 e# qBYTE bfType[2];BYTE bfSize[4];
    4 Z: L  z2 u; ?( I! ^BYTE bfRcserved1[2];' G. i7 I' R' v# x, F) A2 A
    BYTE bfRcserved2[2];+ Q9 s2 q' i& J: I8 m3 B3 t
    BYTE bfoffBits[4];
    " R9 i+ n3 [% ~}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    5 A, Q3 r. L0 z/ g; l$ \! @4 Mtypedef struct tagBITMAPINFOHEADER {
    2 _% I1 b6 Z+ IBYTE biSize[4];
    3 e0 C; k, }7 Y' JBYTE biWidth[4];" ?$ x+ [/ p) r
    BYTE biHeight[4];
    : P" @* }# s8 Q7 K  k/ ]# z- u2 ABYTE biCompression[4];
    + e& i8 R# Q- F7 pBYTE biXPelsPerMeter[4];
    ( ~3 B1 I9 p7 N# J- GBYTE biYPelsPerMeter[4];
    : E! E  {5 J9 _" [5 v' f4 FBYTE biClrUsed[4];
    4 K- h. d! g$ \: }0 UBYTE biClrImportant[4];9 K2 z# C$ o1 e2 y9 e7 e! ]7 Y
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    ! F1 b7 g* j! d: Ytypedef struct BitmapFile{
    # c5 V8 F! o- O& ?) xBITMAPFILEHEADER bmfheader;* y' j) `% k/ `
    BITMAPINFOHEADER bminfoheader;  w, t9 M* ~; t
    BYTE bitmapdata[3275520];
    , K; x9 g! W1 |1 B1 H! q}bitmap;//定义所处理图像文件对应BMP的文件格式
    ( u/ d6 X: Q: _! v- _//主函数,将图像区数据读入B、G、R三个数组; s2 ]2 k, a0 P3 }
    int main()
    ; W% D$ g; x% u4 N. o3 v{
    3 H8 `# A, o5 d3 `( I! tbitmap *ample1;1 k1 i; s$ q: j8 c
    FILE *fp, *fp1;( ?' N5 F; X& M4 y4 b
    BYTE R[1280][853],G[1280][853],B[1280][853];
    / O: T' `0 w5 m. ?/ f9 O: h1 @long k=0;. O7 X  D+ \% E; F& Z
    int i,j;" h$ k# r" `- |- y. h+ i" o
    char name[20]="try.bmp";//读到新文件的文件名! \% L  c7 z1 I" F0 S
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    5 l# `  L1 D( }- {fp1=fopen(name,"wb");//为写建立一个新文件名7 z0 h) ?, A" m% z! X
    if(! (ample1=new bitmap)){7 g* A/ }0 O/ I/ \8 I+ y$ Y
    cout<<"error"<<endl;return 0;  A0 ~$ C# U/ e! c2 {9 F9 `' M
    }
    " U/ m9 w4 }! `else/ X- i: ~- X" V" ~( n4 ]
    {
    $ a: C& q/ Q# l( V$ k0 ufread(ample1,sizeof(bitmap),1,fp);5 h# u# m6 [3 i) w9 g# R8 G6 E
    fwrite(ample1,sizeof(bitmap),1,fp1);
    : k, o7 g6 z% o6 j& e- Kcout<<"********位图文件头格式:********"<<endl; . j0 x0 d, Y9 ^# A( e; q
    cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    6 x& ]  z8 k+ h0 m0 Icout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;# f) i2 v/ j( f4 f  F
    cout<<"********以下是图像数据区********"<<endl;$ j" }7 _3 X8 b& V
    //指定像素点,以16进制输出BGR值  Y5 L) G( ?, _4 B
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    ! ~* s) H. K5 W. s' s( t8 tcout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
      w  ?/ n5 ~+ w8 Rcout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
    * b4 p/ E3 ~5 d) D) N: E6 v//将图像区数据读入 R、G、B三个数组  c* h4 ?2 u; ~+ Y
    for(i=1280; i>=0; i--)
    & Q! h/ B  ?7 j$ nfor(j=0; j<853; j++)
    2 {, t: e4 s" L9 F{( J$ y4 M/ X5 y9 \/ H# ~  {' T
    B[i][j]=ample1 -> bitmapdata[k++]; 4 |4 V9 J6 L% I/ X% }% s  K
    G[i][j]=ample1 -> bitmapdata[k++];
    & n: ]. t$ B8 S. t' ~R[i][j]=ample1 -> bitmapdata[k++];
    1 g1 ^3 i  [& @}
    2 [% j$ X% X5 R( m$ x" s//检查是否将图像数据读入数组" z2 E; y' \; _8 c
    cout<<"********以下是内存数组数据********"<<endl;* j; a% j: a5 S$ @* o1 G) O6 a7 V
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    + U( L3 G$ X; g7 fcout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    : B1 [. D% G0 W8 W. g( Mreturn 1;
    8 F  w1 u0 d  S: f8 Z$ s* D- {}# Z8 {8 l) y( C7 O" G" d
    delete ample1;0 g6 P9 J# Y* t: _0 }1 I$ M
    fclose(fp);
    ; e' q1 y9 T6 x' ~  D. zfclose(fp1);- d, r" |+ r/ w. A" y! z
    }
    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-9-3 05:44 , Processed in 1.694356 second(s), 52 queries .

    回顶部