QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2569|回复: 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删不掉。请教专家们啦,看看我这程序错哪。9 c! D7 Q+ v) u! a
    #include <iostream.h>9 A2 x5 X8 j: v! r$ g7 U
    #include <stdio.h>
    9 V) s: G' T2 }& x9 K5 e- ?#include <math.h>/ i3 O( d  F, K, ]
    typedef unsigned char BYTE;
    ' @  W  V" Q, [long Ary2DW (unsigned char p[4]){- y0 o5 p" ^9 ^
    int a0,a1,a2,a3;unsigned long A;" }- a* p  B8 E- {! h: H
    a0=int (p[0]); a1=int (p[1]);! o! }8 G3 h4 ]* r) g
    a2=int (p[2]); a3=int (p[3]);
    " I0 P0 w2 Y% ~& Y& f5 K# w5 n' HA=a3*256*256*256+a2*256*256*256+a0;; r4 C- h  |# o/ \+ V, g- F! m
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值
    1 O0 o; b' S' N3 ]typedef struct tagBITMAPFILEHEADER {& `9 c# B7 g0 m# Q: a, `. e: E% T
    BYTE bfType[2];BYTE bfSize[4];
    ' _( F/ f/ Z# [% R% ]# h2 UBYTE bfRcserved1[2];
    / j$ f0 ?2 h" d& H' _( GBYTE bfRcserved2[2];2 }" u  X! ]$ u+ H6 P4 F4 W2 c! I2 l
    BYTE bfoffBits[4];6 w$ R8 y- D+ `" ?1 g& U
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    , H7 m- Q! F0 r) g  Z( g7 }6 b+ w8 rtypedef struct tagBITMAPINFOHEADER {) I" F- {& K. ~6 g6 h/ {7 c
    BYTE biSize[4];
    6 [8 G& ^3 f& _0 l+ S, R' aBYTE biWidth[4];
    6 B& f6 q6 M7 u# v  o3 |* {BYTE biHeight[4];1 A! d* D; W* |' u
    BYTE biCompression[4];
    + ?/ G2 ]3 T% w" W, K$ m& iBYTE biXPelsPerMeter[4];
    ) V, f2 j5 t$ h  n  X$ JBYTE biYPelsPerMeter[4];' H  |) v  V- f7 G' s9 S
    BYTE biClrUsed[4];
    ' j: D) I/ V# Z1 _BYTE biClrImportant[4];
    " ~) [& ~: L7 O. X: I; h* z6 n}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型+ \: r6 u6 X; X, I% A# B
    typedef struct BitmapFile{+ k/ t9 t5 @% `4 g2 c, ^- W
    BITMAPFILEHEADER bmfheader;
    $ ?( A2 z9 Y. D$ aBITMAPINFOHEADER bminfoheader;2 Q: J7 d' H) X# F# [
    BYTE bitmapdata[3275520];
    . M9 I) G0 Y, q6 r}bitmap;//定义所处理图像文件对应BMP的文件格式
    % t% i1 B' q2 S1 E: p! Y//主函数,将图像区数据读入B、G、R三个数组1 Q- u0 Z% c) H3 `) l, X( r
    int main()! `7 J1 ^: O0 J3 ]+ p# O2 j2 [
    {& s/ I8 |' P  U" P
    bitmap *ample1;6 N# m" D7 d9 r$ d
    FILE *fp, *fp1;& u9 O. X2 E& G
    BYTE R[1280][853],G[1280][853],B[1280][853];
    # {" c6 F  ]% R5 N  A3 l8 tlong k=0;
    ( {0 ?, R: g# B' _: [& \int i,j;& u6 H5 y" T( B; P8 H
    char name[20]="try.bmp";//读到新文件的文件名0 t) u* u0 o% [- ?7 F& r( k
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件# _$ ~7 t1 I; Z2 P# _( X
    fp1=fopen(name,"wb");//为写建立一个新文件名  O) F4 Z/ B* Q8 @7 G, ?# K
    if(! (ample1=new bitmap)){. r( j, `( h! o6 ]3 _* A
    cout<<"error"<<endl;return 0;/ K" g0 j0 R1 H* t9 y0 U) G+ t
    }
    : I; ~, L% j0 `9 R* o0 f# W# aelse
    0 F; P; z; E7 i- j{- V3 ~) b; x& n* o8 e( U! J. B
    fread(ample1,sizeof(bitmap),1,fp);' U. V0 l# M: g  G
    fwrite(ample1,sizeof(bitmap),1,fp1);
    9 g" p' q$ w8 f9 K7 E6 pcout<<"********位图文件头格式:********"<<endl; 4 M; D- e" s( p" @* X; m: q, b
    cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;. M( \& u4 F6 u& ]8 p
    cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    0 O' e; ~' q+ n5 [$ W3 f/ H7 Q3 Qcout<<"********以下是图像数据区********"<<endl;8 A) q% R0 ~3 e! j
    //指定像素点,以16进制输出BGR值
    2 g  I( U5 e2 ocout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;. f$ h' j" s! s9 a3 d3 d9 H
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
    ( B% P( j5 T) t& pcout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
    ! c3 Q8 v2 C. t) p9 ^% ^/ |//将图像区数据读入 R、G、B三个数组
    ' u, o; o$ ~: H0 Mfor(i=1280; i>=0; i--)  E; d  d. Q2 M- m
    for(j=0; j<853; j++) 5 ?1 Q. N7 F0 M5 G7 b
    {
    " c9 A8 H1 p6 d1 m) D# J: OB[i][j]=ample1 -> bitmapdata[k++];
    8 d8 k8 H& j9 `" [  W0 l. xG[i][j]=ample1 -> bitmapdata[k++]; : E7 h' v! _* U  s
    R[i][j]=ample1 -> bitmapdata[k++];
    0 ]/ q& X8 [0 s% m4 b- M, _  w0 [7 {}
    ' a& w* B& Y+ w3 ]# H//检查是否将图像数据读入数组' S4 R+ F7 U! t& f& B
    cout<<"********以下是内存数组数据********"<<endl;  V& U6 H' A2 f6 ?! k( I3 H( X2 C
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    + V1 X6 k4 y  o. s- Bcout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    4 s* Z  A% Y* w  _  C5 Zreturn 1;: F9 I8 o* h  a$ ~) \+ ^+ B1 G
    }+ w1 `( b8 F* e# v: C/ x% o0 y+ }
    delete ample1;: w" R; g1 D/ R" A5 ^8 ?9 {
    fclose(fp);
    9 V7 o- }# P1 C! \fclose(fp1);) D" `( `, t9 {' c8 g5 h' w
    }
    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-6-3 12:33 , Processed in 0.452990 second(s), 52 queries .

    回顶部