setdta

王朝百科·作者佚名  2010-05-14
窄屏简体版  字體: |||超大  

函数名:setdta

功 能: 设置磁盘传输区地址

用 法:void setdta(char far *dta);

程序例:

#include <process.h>

#include <string.h>

#include <stdio.h>

#include <dos.h>

int main(void)

{

char line[80], far *save_dta;

char buffer[256] = "SETDTA test!";

struct fcb blk;

int result;

/* get new file name from user */

printf("Enter a file name to create:");

gets(line);

/* parse the new file name to the dta */

parsfnm(line, &blk, 1);

printf("%d %s

", blk.fcb_drive, blk.fcb_name);

/* request DOS services to create file */

if (bdosptr(0x16, &blk, 0) == -1)

{

perror("Error creating file");

exit(1);

}

/* save old dta and set new dta */

save_dta = getdta();

setdta(buffer);

/* write new records */

blk.fcb_recsize = 256;

blk.fcb_random = 0L;

result = randbwr(&blk, 1);

printf("result = %d

", result);

if (!result)

printf("Write OK

");

else

{

perror("Disk error");

exit(1);

}

/* request DOS services to close the file */

if (bdosptr(0x10, &blk, 0) == -1)

{

perror("Error closing file");

exit(1);

}

/* reset the old dta */

setdta(save_dta);

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航