QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2607|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    * f9 I/ J! h9 V& p' g& b#include <iostream.h>, D/ E! n/ T) u5 ?. g
    #include <stdio.h>
    - B6 R4 ^7 f6 o, H  N9 U- Y% E6 V#include <math.h>
    6 Q$ k4 @' W( I/ o9 L" G" ptypedef unsigned char BYTE;; ^4 x3 ~3 C# @) U, z
    long Ary2DW (unsigned char p[4]){
    2 F% l; o% `" c! j9 Yint a0,a1,a2,a3;unsigned long A;
    , N7 x, E2 g5 c9 ?( C; Y( ?a0=int (p[0]); a1=int (p[1]);# n# x2 I; ~3 f: ~
    a2=int (p[2]); a3=int (p[3]);' Y7 o, P6 j$ h4 e) F5 X5 d3 v
    A=a3*256*256*256+a2*256*256*256+a0;* f5 g0 w+ ^2 ]5 O# s" k
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    8 D! P* T8 l- ?4 l( ktypedef struct tagBITMAPFILEHEADER {
    3 k' Q+ K+ R; l9 |BYTE bfType[2];BYTE bfSize[4];4 l1 B- g8 U% v
    BYTE bfRcserved1[2];
    ; U/ l3 N$ W" @% ?" ABYTE bfRcserved2[2];
    5 E% }9 L1 A; U6 X) DBYTE bfoffBits[4];
    - A7 i7 U; t5 X& N( K}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    7 w5 k# [+ y; c- v3 Y$ E) |typedef struct tagBITMAPINFOHEADER {
    " m; o: h5 }. X" U2 GBYTE biSize[4];2 Y* G8 j  z* p, u( f
    BYTE biWidth[4];! i% C' w# \: N3 s5 _9 J
    BYTE biHeight[4];
    ; ?: H2 B4 R( t& ?' p% SBYTE biCompression[4];
    ; T4 _) g7 G8 {; m1 y2 y. l) A% jBYTE biXPelsPerMeter[4];. _( b5 b7 N4 t" o+ n9 l+ q
    BYTE biYPelsPerMeter[4];
    6 Y5 A) \5 c! o1 Q& Q7 ]8 `/ tBYTE biClrUsed[4];
    5 B  h* `  l, ~  ]- c' |BYTE biClrImportant[4];
    8 k3 [& D5 t7 M3 N; S}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    0 q. b! _% K) D' S& c, rtypedef struct BitmapFile{
    " v8 E) `0 F9 E& BBITMAPFILEHEADER bmfheader;3 j: Y  D$ ?9 a! r5 R" O1 \8 h
    BITMAPINFOHEADER bminfoheader;2 k% d. }; ~" V- _/ u
    BYTE bitmapdata[3275520];
    % x% N0 i" G. D5 ?- t$ o}bitmap;//定义所处理图像文件对应BMP的文件格式
    4 J$ n5 q: I0 o* Z( g4 M//主函数,将图像区数据读入B、G、R三个数组
    7 j' `6 X3 r# R: w+ m+ Q+ Q) eint main()) p8 T2 `  d" _4 {. {  D& Q# n7 V
    {
    9 L/ j& w* o7 _8 O  R' Cbitmap *ample1;
    # b+ d* S* l9 i9 f' w; g0 `4 uFILE *fp, *fp1;7 x) h. D/ R. a7 Q( c, b
    BYTE R[1280][853],G[1280][853],B[1280][853];
    / p5 ~  i6 q3 d  ulong k=0;
    8 _' y$ H3 Q$ m+ g4 d9 Pint i,j;
      S- ^( P! c& P7 X; d' Gchar name[20]="try.bmp";//读到新文件的文件名5 @  j, @5 }$ e% j+ S
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件8 O* x- E" n: |5 x- k' d, p+ X- N
    fp1=fopen(name,"wb");//为写建立一个新文件名0 e1 {+ Z! p1 ^" b4 |* c
    if(! (ample1=new bitmap)){
    # s  s5 w" }5 r1 B( p( ?cout<<"error"<<endl;return 0;
    ) }3 E! M& U8 d; ^}
    * K9 `5 ]: e) k# U+ o6 l' `else7 d+ I. D: W+ [$ {7 o& w  i( g1 ]
    {' L$ F! ]# u9 Y& |
    fread(ample1,sizeof(bitmap),1,fp);- S( z* q( B2 {& @
    fwrite(ample1,sizeof(bitmap),1,fp1);
    ( F* `  g" b, Qcout<<"********位图文件头格式:********"<<endl;
    , }% A+ R9 D" F% acout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
      l0 f3 S6 M/ f2 {, Acout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;* E" W5 q4 Q( m+ j0 r
    cout<<"********以下是图像数据区********"<<endl;
    + X" K" A( K" {" `//指定像素点,以16进制输出BGR值  v: o' _7 w7 D3 y; ~
    cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    5 i! F2 [8 n' T1 N7 Ecout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; % q2 [7 V6 i2 E4 |0 R6 [" F
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;: d0 I9 g1 n' }9 V3 b
    //将图像区数据读入 R、G、B三个数组
    $ j$ l! E4 N& o9 k! j( W- I! Jfor(i=1280; i>=0; i--)
    & ?$ |- ^- _: J5 ]( Efor(j=0; j<853; j++)
    : L0 d7 S8 u- I  {, @* ^  a; V{
    2 ~  k$ F& n# i6 d( TB[i][j]=ample1 -> bitmapdata[k++]; ) z0 s% C& q, y. G
    G[i][j]=ample1 -> bitmapdata[k++]; 7 ~9 _3 _8 |1 \- _8 i3 H. l' c
    R[i][j]=ample1 -> bitmapdata[k++];2 {" d. O" B4 C4 ^- G
    }0 N! z9 S( }) ^# G' M
    //检查是否将图像数据读入数组
    2 e; A" ]7 R1 W! z1 s' E: Qcout<<"********以下是内存数组数据********"<<endl;( S) f: i! L% Q3 m6 I5 x% `
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    + e. N8 z9 B0 pcout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;& G8 T% @* g/ t. `7 x
    return 1;
    $ y! P2 _2 T( M7 a}0 K( g3 @( y0 o' e$ s( H7 l! ^
    delete ample1;% c( K1 G6 ~2 u5 n/ D3 S
    fclose(fp); ' ]+ I5 J4 S9 }' E2 `6 Z  h# R. X$ L
    fclose(fp1);: v# I8 p" a1 A7 ^
    }
    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 22:17 , Processed in 0.859432 second(s), 53 queries .

    回顶部