QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2547|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    - g' |* O0 {4 J- e#include <iostream.h>
    * Y/ {8 v* {' i. T#include <stdio.h>
    % [  u1 [0 H, U! ]5 O2 R#include <math.h># v6 ~: c+ g7 c8 I7 k
    typedef unsigned char BYTE;
    * V2 `& G4 }3 c3 T; }  C' elong Ary2DW (unsigned char p[4]){/ _& Q% g  g. s4 B5 F& ~$ t9 l
    int a0,a1,a2,a3;unsigned long A;* k0 I2 o& B& f+ C. q0 W3 n
    a0=int (p[0]); a1=int (p[1]);1 D: c+ A4 C$ R; |- g
    a2=int (p[2]); a3=int (p[3]);
    " t3 ^0 w# G8 H+ oA=a3*256*256*256+a2*256*256*256+a0;# ^0 A# i3 u6 j8 P; W! ~" C
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    0 K- f, T" y$ |+ x9 Q, stypedef struct tagBITMAPFILEHEADER {
    & g7 u2 {8 B7 TBYTE bfType[2];BYTE bfSize[4];
      O) E& y5 n0 p9 c: |BYTE bfRcserved1[2];+ T0 U' s# ]4 b$ M; Q
    BYTE bfRcserved2[2];. S! a# b& G9 V: t/ K
    BYTE bfoffBits[4];. Y! x( }6 E; H+ R& v
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    0 r7 ^7 B% b; r0 m) [9 |  @' p& gtypedef struct tagBITMAPINFOHEADER {7 c! J" b7 v" M. F) e/ `
    BYTE biSize[4];2 e/ N8 z. Q: O2 |6 E6 D
    BYTE biWidth[4];6 X) T: Z3 X1 M0 A! z+ L
    BYTE biHeight[4];$ _0 H& F; A3 Q! z& F* z
    BYTE biCompression[4];
    2 a. ~% s! T/ Q6 l5 y+ }BYTE biXPelsPerMeter[4];7 _. ?1 I0 f/ m
    BYTE biYPelsPerMeter[4];
    ' t: H+ G% D" @! UBYTE biClrUsed[4];7 u' _  J) K4 w$ y/ E6 c
    BYTE biClrImportant[4];7 h5 T: U. ?6 }8 Y3 c+ Q7 u
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型. o, u6 q6 g. Z9 P! W# X
    typedef struct BitmapFile{1 F' S" y7 [) c# I/ C
    BITMAPFILEHEADER bmfheader;! X# H! L9 I2 a$ ~9 l/ B
    BITMAPINFOHEADER bminfoheader;  @6 A+ e( w; f4 P" ?
    BYTE bitmapdata[3275520];8 G( r) k: g6 [
    }bitmap;//定义所处理图像文件对应BMP的文件格式: U9 ~3 o6 S! U, c1 V( p
    //主函数,将图像区数据读入B、G、R三个数组
    & w" i; G: H. \) T0 B# eint main()
    3 v9 S1 @" a* N/ r{
    & x& m5 F. X- T* V3 j3 O3 k( ebitmap *ample1;
      q* C0 h% T/ u& v, S$ DFILE *fp, *fp1;* d+ d) U+ i8 r) u
    BYTE R[1280][853],G[1280][853],B[1280][853];
    # S5 T+ X% N3 R3 ?8 A% ylong k=0;/ p! s' d2 j- t& }
    int i,j;
    - W; e  U. B; ^- c/ P* ]% zchar name[20]="try.bmp";//读到新文件的文件名! ^6 L0 P0 g: H) n! l
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    4 @8 a( ?" [# d9 n' y7 C( Yfp1=fopen(name,"wb");//为写建立一个新文件名$ V; ?" c+ H0 t3 m
    if(! (ample1=new bitmap)){
    7 o. r+ S; S0 [+ O5 \" ^2 @' A' qcout<<"error"<<endl;return 0;+ K$ `% R, r8 O
    }7 E! ^1 a6 P) s0 O# R- g0 W2 C
    else
    # Z+ h7 V. i; U{
    ( r" X1 v  S: s: B* m1 f9 X! Qfread(ample1,sizeof(bitmap),1,fp);. x. _) b1 d/ E  f0 W, q
    fwrite(ample1,sizeof(bitmap),1,fp1);" i6 a4 }6 E- v2 U% T4 b7 i5 o/ p
    cout<<"********位图文件头格式:********"<<endl;
    & P- k7 q8 A5 K$ Gcout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    2 G* Z9 r  Y& Lcout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    ' O6 J( R  Z; g4 Qcout<<"********以下是图像数据区********"<<endl;
    , i. w9 p# i, k7 P  I7 }8 k//指定像素点,以16进制输出BGR值
    1 ^( a- V  H7 g3 o( _4 Bcout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;, v3 U6 z4 G4 n/ v! |
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; ; {2 n8 R0 O4 x. F" i( _& R5 G
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;9 p' B' z0 {) U+ o9 e
    //将图像区数据读入 R、G、B三个数组) T1 X& E+ d" m+ M. ]
    for(i=1280; i>=0; i--)) g. M( Y; R4 O
    for(j=0; j<853; j++) & f+ a- F4 ]3 W# ^
    {
    % U9 ?3 |" d, VB[i][j]=ample1 -> bitmapdata[k++];
    " b( Q; k; [, a8 S1 K/ ~+ {5 AG[i][j]=ample1 -> bitmapdata[k++];
    - _/ N* B) B. S  M: l* f/ f: tR[i][j]=ample1 -> bitmapdata[k++];
    * m3 H- |% u5 j6 _+ E}
    ; X- P+ J* m, h8 x7 ^//检查是否将图像数据读入数组
    % a$ R1 R) j: Vcout<<"********以下是内存数组数据********"<<endl;" q4 [8 T& w: X; l5 x7 g6 j
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    8 B7 T5 `: e6 c# U5 c' `* Qcout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;9 b8 _9 k' v- s6 @2 r
    return 1;
    ) R, o9 @  w* }( Z}
    + e: ]; ^) }3 n5 }* u  K: n, A& \. g/ t* ^delete ample1;
    ' m/ O: Y9 C, h+ @" Efclose(fp);
    7 e' \( F$ o3 |. Z  ~fclose(fp1);* S1 s) [" _1 n
    }
    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-4-17 11:03 , Processed in 0.338495 second(s), 52 queries .

    回顶部