发送文件Word格式.docx
- 文档编号:21008889
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:8
- 大小:15.78KB
发送文件Word格式.docx
《发送文件Word格式.docx》由会员分享,可在线阅读,更多相关《发送文件Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
/*接收文件名*/
InitPort(int
port,unsigned
char
para);
/*初始化端口*/
SendPort(int
port,char
c);
/*端口发送*/
int
ReadPort(int
port);
/*读端口字节*/
CheckState(int
/*检查端口状态*/
Receive(int
port,int
*G);
/*接收一个字节*/
main(int
argc,char
*argv[])
{
if(argc<
2){
printf("
Please
input
R(receive)
or
S(sent)
parametre:
);
exit
(1);
}
InitPort(PORT,231);
if(*argv[1]=='
'
S'
)
/*检查选择的有效性*/
SendFile(argv[2]);
else
R'
)
else{
Error
parament.Please
again."
*fname)
FILE
*fp;
ch,s;
if((fp=fopen(fname,"
rb"
))==NULL)
Can'
t
open
the
file.\n"
SendFileName(fname);
do{
ch=(int)getc(fp);
if(ferror(fp)){
reading
break;
s=ch%16;
/*取文件中一个字节的低4位*/
Send(s);
s=ch/16;
/*取文件中一个字节的高4位*/
}while(!
feof(fp));
s=46;
/*发送文件结束信息*/
fclose(fp);
Send(s)
s;
G;
SendPort(PORT,s);
G=ReadPort(PORT);
/*等待握手信号*/
if(s!
=G)
s=s+16;
}while(s!
=G);
SendFileName(fname)
*fname;
s,ch;
Now
transmit
file.Please
wait..."
while(*fname){
ch=(int)fname++;
/*取文件名中一个字节的低4位*/
s=32;
/*发送文件名结束标志*/
ReceiveFile(){
ch;
G1,G2,G3;
fname[15];
GetFileName(fname);
Receiving
file
%s.\n"
fname);
remove(fname);
wb"
output
/*循环为检测每次接受的数据是否为新数据,如果不是,*/
/*则用此次接收的数据覆盖上次接收的数据*/
G1=ReadPort(PORT);
G2=Receive(PORT,&
G1);
do{
G3=Receive(PORT,&
G2);
ch=(char)(G1%16+G2*16);
/*恢复分开的数据,组合高4位和低4位*/
putc(ch,fp);
\nError
writing
file."
G3);
G1=G3;
}while(G1/16!
=48);
\nTransmit
finished."
Receive(port,G)
port,*G;
GM;
SendPort(port,*G);
GM=ReadPort(port);
if(GM/16==0)
return
if(GM/16==1){
*G=GM;
SendPort(port,GM);
}while(GM/16==1);
*f)
G2=ReadPort(PORT);
ch=(char)(G1%16+G2/16);
*f=ch;
*f++;
=32);
File
name
finished.\n"
InitPort(port,para)
port;
unsigned
para;
union
REGS
reg;
reg.x.dx=port;
reg.h.ah=0;
reg.h.al=para;
int86(0x14,®
®
SendPort(port,c)
c;
reg.h.al=c;
reg.h.ah=1;
if(reg.h.ah&
128){
\nSend
mistakes!
ReadPort(port)
while(!
(CheckState(port)&
256)){
if(kbhit()){/*如端口长期无数据可人为终止等待*/
Press
any
key
to
exit."
getch();
reg.h.ah=2;
\nRead
mistake!
reg.h.al;
CheckState(port)
reg.h.ah=3;
reg.x.ax;
以上程序可传送各种格式的文件,也有一定的自动纠错能力,但对于异常情况的
处理能力比较弱,读者可以自己改进。
由于篇幅限制,对于中断14H的功能、入
口参数及返回参数的意义请读者自己查有关资料。
**********************************
附录:
现在大多数串行口都遵循RS-232标准,以下是最常用的RS-232信号:
名称
针号
含义
RTS 4 Request
send(请求发送)
CTS 5 Clear
send(清除发送)
DSR 6 Data
set
ready(数据设备准备好)
DTR 20
Data
terminal
ready(数据终端准备好)
TXD 2 Transmit
data(发送数据)
RXD 3 Receive
data(接收数据)
GRD 7 Ground(接地)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 发送 文件