Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Hướng Dẫn Sử Dụng Các Hàm Thông Dụng Trên TC

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Red face Hướng Dẫn Sử Dụng Các Hàm Thông Dụng Trên TC

    Đây là 1 số hàm được dịch trong thư viện chuẩn của TC,các VD và từng câu đều là nguyên mẫu trong TC

    Hàm void abort( void ): Hàm abort được khai báo trong proccess.h dùng để in ra thông báo “Abnormal program terminal”.
    Ví dụ:


    Code:
    #include <stdio.h>
    #include <stdlib.h>
    int main(void) {
    printf("Calling abort()\n");
       	abort();
       	return 0; /* This is never reached */
    }
    Hàm int abs(int n): trả lại giá trị tuyệt đối của n.
    Hàm int access(char *path, int mode ) : Được khai báo trong io.h và dùng để xác định xem file được chỉ ra theo char *path với mode truy nhập int mode có tồn tại thực hay không. Trong đó, int mode có thể nhận một trong các giá trị:
    00 : Chỉ kiểm tra sự tồn tại của file
    02 : Kiểm tra việc cho phép ghi.
    03 : Kiểm tra việc cho phép đọc
    04 : Kiểm tra việc cho phép đọc và ghi
    Đối với thư mục, hàm sẽ kiểm tra sự tồn tại của thư mục. Hàm trả lại giá trị 0 khi file có quyền truy nhập với mode đã cho, hàm trả lại giá trị -1 khi quyền truy nhập file theo mode gặp lỗi.
    Ví dụ:


    Code:
    #include <stdio.h>
    #include <io.h>
    int file_exists(char *filename);
    int main(void) {
       	printf("Does NOTEXIST.FIL exist: %s\n",
              file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
       	return 0;
    }
    int file_exists(char *filename)
    {
       return (access(filename, 0) == 0);
    }
    Hàm double acos(double x): Được khai báo trong math.h dùng để tính arcosin(x).
    Hàm double asin( double x): Được khai báo trong math.h dùng để tính giá trị arsin(x) trong khoảng [-/2, /2].
    Hàm char *asctime( struct tm *blktime): Hàm được định nghĩa trong time.h dùng để biến đổi cấu trúc thời gian lưu trữ thành một xâu gồm 26 kí tự có dạng như sau: Wed Jan 02 02:03:55 1980\n\0. Trong đó cấu trúc thời gian tm được định nghĩa như sau:


    Code:
    struct tm {
        	int  tm_sec;		/* Số giây sau một phút (0 . .59) */
    int  tm_min;		/* Số phút sau một giờ (0 . .59) */
    int  tm_hour;	/* Số giờ sau một ngày đêm ( 0 . .23) */	
        	int  tm_mday;	/* Ngày trong một tháng ( 0. .31)*/
    int  tm_mon; 	/* Số tháng kể từ tháng 1 ( 0 . .11)*/
    int  tm_year;		/* Số năm sau 1900 */
        	int  tm_wday;	/* Số ngày sau thứ bảy (0. .6)*/
    int tm_yday;		/* Số ngày kể từ tháng 1 */
        	int  tm_isdst;	/* Cỡ thời gian-  ngày- lưu trữ*/};Ví dụ:
    Code:
    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    int main(void) {
       	struct tm t;
       	char str[80];
       	/* sample loading of tm structure  */
       	t.tm_sec    = 1;  /* Seconds */
       	t.tm_min    = 30; /* Minutes */
       	t.tm_hour   = 9;  /* Hour */
       	t.tm_mday   = 22; /* Day of the Month  */
       	t.tm_mon    = 11; /* Month */
       	t.tm_year   = 56; /* Year - does not include century */
       	t.tm_wday   = 4;  /* Day of the week  */
       	t.tm_yday   = 0;  /* Does not show in asctime  */
       	t.tm_isdst  = 0;  /* Is Daylight SavTime; does not show in asctime */
       	/* converts structure to null terminated  string */
       	strcpy(str, asctime(&t));
       	printf("%s\n", str);
       	return 0;
    }
    Hàm int atoi(char *string): Được khai báo trong math.h dùng để chuyển đổi một xâu kí tự số thành một số nguyên.
    Hàm int atol(char *string): Được khai báo trong math.h dùng để chuyển đổi một xâu kí tự số thành một số nguyên dài.
    Hàm double atof( char *string): Được khai báo trong math.h dùng để chuyển đổi một xâu kí tự số thành một số thực có độ chính xác gấp đôi.
    Hàm char *itoa( int value, char *string, int radix): Được khai báo trong stdlib.h dùng để chuyển đổi số value thành một xâu kí tự số với cơ số là radix. Trong đó, 2 <= radix <=16.
    Hàm char *utoa( unsigned long int value, char string, int radix): Được khai báo trong stdlib.h dùng để chuyển đổi số nguyên dài không dấu value thành một xâu kí tự số với cơ số là radix. Trong đó, 2 <= radix <=16.
    Hàm char *ltoa( long int value, char string, int radix): Được khai báo trong stdlib.h dùng để chuyển đổi số nguyên dài value thành một xâu kí tự số với cơ số là radix. Trong đó, 2 <= radix <=16.
    Ví dụ:


    Code:
    #include <stdlib.h>
    #include <stdio.h>
    int main(void){
       	char string[25];
       	long value = 123456789L;
       	ltoa(value,string,10);
       	printf("number = %ld  string = %s\n", value, string);
       	return 0;
    }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi AlexF : 07-03-2009 lúc 09:45 PM. Lý do: Hướng Dẫn Sử Dụng Các Hàm Thông Dụng Trên TC

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Hàm int biosdisk(int cmd, int drive, int head, int track, int sector,int nsects, void *buffer); được khai báo trong bios.h, sử dụng int 0x13 để cung cấp một số dịch vụ truy nhập đĩa. Trong đó, int cmd là số hiệu của dịch vụ; int drive là số hiệu ổ đĩa; int head là số hiệu đầu đọc ghi; int track là số hiệu rãnh; int sector là số hiệu sector bắt đầu; int sector là số hiệu sector cần đọc ghi hoặc so sánh; void far *buffer là vị trí bộ nhớ cần để đọc ra, ghi vào hoặc để so sánh.
    Ví dụ:


    Code:
    #include <bios.h>
    #include <stdio.h>
    int main(void) {
     	int result;
       	char buffer[512];
       	printf("Testing to see if drive a: is ready\n");
       	result = biosdisk(4,0,0,0,0,1,buffer);
       	result &= 0x02;
       	(result) ? (printf("Drive A: Ready\n")) :
              (printf("Drive A: Not Ready\n"));
       	return 0;
    }
    Hàm int bioscom(int cmd, char abyte, int port); được khai báo trong bios.h dùng để điều khiển cổng truyền thông RS-232 (communications I/O). Trong đó giá trị của int cmd được xác định bởi một trong các giá trị sau:
    0 : Thiết lập byte dữ liệu truyền.
    1 : Gửi một byte ra đường truyền.
    2 : Nhận một byte với 8 bít giá trị từ cổng.
    3 : Thiết lập trạng thái cổng.
    int port là một số nguyên, trong đó port = 0 cho cổng COM1, port = 1 cho cổng COM2.
    Ví dụ:


    Code:
    #include <bios.h>
     #include <conio.h>
     #define COM1       0
     #define DATA_READY 0x100
     #define TRUE       1
     #define FALSE      0
     #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00)
     int main(void) {
         	int in, out, status, DONE = FALSE;
        	bioscom(0, SETTINGS, COM1);
        	cprintf("... BIOSCOM [ESC] to exit ...\n");
        	while (!DONE) {
               	status = bioscom(3, 0, COM1);
           		if (status & DATA_READY)
              		if ((out = bioscom(2, 0, COM1) & 0x7F) != 0)
                 		putch(out);
              		if (kbhit()) {
                           	if ((in = getch()) == '\x1B')
                    			DONE = TRUE;
                 		bioscom(1, in, COM1);
              		}
        	}
        	return 0;
    }
    Hàm int inport(int portid) Được khai báo trong dos.h dùng để đọc một từ 2byte từ cổng.
    Hàm int inportb( char byte): Được khai báo trong dos.h dùng để đọc một byte từ cổng.
    Ví dụ:


    Code:
     #include <stdio.h>
     #include <dos.h>
     int main(void){
     	int result;
        	int port = 0;  /* serial port 0 */
        	result = inport(port);
        	printf("Word read from port %d = 0x%X\n", port, result);
        	return 0;
     }
    Hàm int outport( int portid): Được khai báo trong dos.h dùng để đưa một từ ra cổng.
    Hàm int outportb(char byte): Được khai báo trong dos.h dùng để đưa một byte dữ liệu ra cổng.
    Ví dụ:


    Code:
    #include <stdio.h>
    #include <dos.h>
    int main(void){
    	int port = 0;
    	char value = 'C';
    	outportb(port, value);
    	printf("Value %c sent to port number %d\n", value, port);
    	return 0;
    }
    Hàm void calloc(size_t n, size_t size): Được khai báo trong alloc.h dùng để cấp phát không gian nhớ cho một mảng gồm n phần tử trong đó độ dài của mỗi phần tử là size byte.
    Ví dụ:


    Code:
    #include <stdio.h>
    #include <alloc.h>
    int main(void) {
       	char *str = NULL;
       	/* allocate memory for string */
       	str = calloc(10, sizeof(char));
       	/* copy "Hello" into string */
       	strcpy(str, "Hello");
       	/* display string */
       	printf("String is %s\n", str);
       	/* free memory */
       	free(str);
       	return 0;
    }
    Hàm void *malloc(size_t sie_n): Được khai báo trong alloc.h dùng để cấp phát một khối bộ nhớ gồm size_n byte. Hàm trả lại con trỏ tới vùng bộ nhớ đã được cấp phát nếu thực hiện thành công, hàm trả lại con trỏ NULL nếu việc cấp phát bộ nhớ không thành công.
    Ví dụ:

    Code:
    #include <stdio.h>
    #include <string.h>
    #include <alloc.h>
    #include <process.h>
    int main(void){
    	char *str;
    	/* allocate memory for string */
    	if ((str = malloc(10)) == NULL){
    		printf("Not enough memory to allocate buffer\n");
    		exit(1);  /* terminate program if out of memory */
    	}
    	/* copy "Hello" into string */
    	strcpy(str, "Hello");
    	/* display string */
    	printf("String is %s\n", str);
    	/* free memory */
    	free(str);
    	return 0;
    }

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Hàm void realloc(void *newblk, size_t size) : Được khai báo trong alloc.h dùng để cấp phát lại vùng bộ nhớ đã được cấp phát cho con trỏ bởi hàm malloc() hoặc calloc() trước đó. Hàm trả lại con trỏ là địa chỉ của vùng bộ nhớ mới được cấp phát, trả lại con trỏ NULL nếu việc cấp phát lại không thành công. Con trỏ tới vùng bộ nhớ mới có thể có địa chỉ khác với địa chỉ vùng bộ nhớ trước đó đã được cấp phát cho con trỏ.
    Ví dụ :

    Code:
    #include <stdio.h>
    #include <alloc.h>
    #include <string.h>
    int main(void){
    	char *str;
    	/* allocate memory for string */
    	str = malloc(10);
    	/* copy "Hello" into string */
    	strcpy(str, "Hello");
    	printf("String is %s\n  Address is %p\n", str, str);
    	str = realloc(str, 20);
    	printf("String is %s\n  New address is %p\n", str, str);
    	/* free memory */
    	free(str);
    	return 0;
    }
    Hàm unsigned int FP_OFF(char far *address): Được khai báo trong dos.h dùng để đặt (hay lấy) địa chỉ offset của con trỏ address. Trong model bộ nhớ nhỏ (small) và vừa (medium), FP_OFF chỉ làm việc chính xác khi address là con trỏ xa nằm trong segmen dữ liệu chuẩn. Hàm FP_OFF cho lại địa chỉ offset của con trỏ address.
    Ví dụ:


    Code:
    /* FP_OFF */
    #include <dos.h>
    #include <stdio.h>
    int main(void){
       	char *str = "fpoff.c";
       	printf("The offset of this file in memory\  is: %Fp\n", FP_OFF(str));
       	return 0;
    }
    Hàm unsigned int FP_SEG(char far *address): Được khai báo trong dos.h dùng để đặt (hay lấy) địa chỉ segmen của con trỏ address. Trong model bộ nhớ nhỏ (small) và vừa (medium), FP_SEG chỉ làm việc chính xác khi address là con trỏ xa nằm trong segmen dữ liệu chuẩn. Hàm FP_SEG cho lại địa chỉ segmen của con trỏ address.
    Ví dụ:


    Code:
    /* FP_SEG */
    
    #include <dos.h>
    #include <stdio.h>
    int main(void) {
       	char *filename = "fpseg.c";
    printf("The offset of this file in memory\  is: %Fp\n", FP_SEG(filename));
      	return(0);
    }
    Hàm void far *MK_SEG(unsigned in seg, unsigned int off): Được khai báo trong dos.h dùng để truy nhập tới vùng bộ nhớ có địa chỉ segmen và địa chỉ offset được chỉ ra bởi seg, off.
    Ví dụ:


    Code:
    /* MK_FP */
    #include <dos.h>
    #include <graphics.h>
    int main(void) {
    int gd, gm, i;
       	unsigned int far *screen;
       	detectgraph(&gd, &gm);
       	if (gd == HERCMONO)
           		screen = MK_FP(0xB000, 0);
       	else
           		screen = MK_FP(0xB800, 0);
       	for (i=0; i<26; i++)
          		screen[i] = 0x0700 + ('a' + i);
       	return 0;
    }
    Hàm void movedata(unsigned srcseg,
    unsigned srcoff,
    unsigned destseg,
    unsigned destoff,
    size_t n);

    Được khai báo trong mem.h dùng để copy n byte từ miền bộ nhớ có địa chỉ seg:off tới miền bộ nhớ mới có địa chỉ destseg:destoff.



    Code:
    #include <mem.h>
     #define MONO_BASE 0xB000
     /* saves the contents of the monochrome screen in buffer */
     void save_mono_screen(char near *buffer) {
        	movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);
     }
     int main(void) {
         	char buf[80*25*2];
        	save_mono_screen(buf);
     }
    Hàm void movmem(void *src, void *dest, unsigned length); đựoc khai báo trong mem.h dùng để dịch chuyển một khối bộ nhớ có độ dài n byte từ con trỏ scr tới con trỏ dest.
    Ví dụ:

    Code:
    #include <mem.h>
     #include <alloc.h>
     #include <stdio.h>
     #include <string.h>
     int main(void) {
         	char *source = "Borland International";
        	char *destination;
        	int length;
        	length = strlen(source);
        	destination = malloc(length + 1);
        	movmem(source,destination,length);
        	printf("%s\n",destination);
        	return 0;
     }

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    --------------------------------------------------------------------------------

    Hàm void *memcpy(void *dest, const void *src, size_t n);
    được khai báo trong mem.h dùng để Copy một block gồm bytes từ con trỏ src tới con trỏ dest.

    Code:
    #include <stdio.h>
     #include <string.h>
     int main(void) {
     	char src[] = "******************************";
        	char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
        	char *ptr;
        	printf("destination before memcpy: %s\n", dest);
        	ptr = memcpy(dest, src, strlen(src));
        	if (ptr)
           		printf("destination after memcpy:  %s\n", dest);
        	else
           		printf("memcpy failed\n");
        	return 0;
    }
    Hàm int gettext(int left, int top, int right, int bottom, void *destin); được khai báo trong conio.h dùng để copy các dòng văn bản ở mode text từ màn hình có toạ độ (left, top), (right, bottom) vào vùng bộ nhớ trỏ bởi destin. Hàm trả lại con trỏ NULL nếu thực hiện không thành công.
    Hàm int puttext(int left, int top, int right, int bottom, void *destin); được khai báo trong conio.h dùng để hiển thị nội dung miền nhớ trong buffer lên màn hình xác định bởi hình chữ nhật có toạ độ (left, top), (right, bottom). Hàm trả lại con trỏ NULL nếu thực hiện không thành công.
    Ví dụ:

    Code:
    Code:
    #include <conio.h>
     char buffer[4096];
     int main(void) {
     	int i; 	clrscr();
        	for (i = 0; i <= 20; i++)
           		cprintf("Line #%d\r\n", i);
        	gettext(1, 1, 80, 25, buffer); gotoxy(1, 25);
        	cprintf("Press any key to clear screen...");
        	getch(); clrscr();
        	gotoxy(1, 25); cprintf("Press any key to restore screen...");
        	getch(); puttext(1, 1, 80, 25, buffer);
        	gotoxy(1, 25); cprintf("Press any key to quit...");
        	getch(); return 0;
    }
    Hàm int chdir(char *path) : Được khai báo trong sys\type.h dùng để thay đổi từ thư mục hiện thời sang một thư mục mới được chỉ ra theo path.
    Ví dụ:

    Code:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <dir.h>
    char old_dir[MAXDIR];
    char new_dir[MAXDIR];
    int main(void){
       	if (getcurdir(0, old_dir)){
          	perror("getcurdir()");
          		exit(1);
       	}
       	printf("Current directory is: \\%s\n", old_dir);
       	if (chdir("\\")){
             	perror("chdir()");
          		exit(1);
       	}
       	if (getcurdir(0, new_dir)){
          	perror("getcurdir()");
          		exit(1);
       	}
       	printf("Current directory is now: \\%s\n", new_dir);
       	printf("\nChanging back to orignal directory: \\%s\n", old_dir);
       	if (chdir(old_dir)){
       		perror("chdir()");
          	exit(1);
       	}
       	return 0;
    }
    Hàm int mkdir(char *path): Được khai báo trong dir.h dùng để khởi tạo một thư mục mới được chỉ qua path. Hàm trả lại giá trị 0 nếu thư mục được tạo ra và trả lại giá trị -1 nếu gặp lỗi.
    Hàm int rmdir(char *path): Được khai báo trong dir.h dùng để loại bỏ thư mục được chỉ ra trong path. Hàm trả lại giá trị 0 nếu thư mục bị loại bỏ, trả lại giá trị -1 nếu gặp lỗi.
    Ví dụ:


    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <process.h>
    #include <dir.h>
    int main(void) {
      	int status;
       	clrscr();
       	status = mkdir("asdfjklm");
       	(!status) ? (printf("Directory created\n")) :
              (printf("Unable to create directory\n"));
       	getch();
       	system("dir");
       	getch();
       	status = rmdir("asdfjklm");
       	(!status) ? (printf("Directory deleted\n")) :
              (perror("Unable to delete directory"));
       	return 0;
    }
    Hàm int getcurdir(int drive, char *directory): Được khai báo trong dir.h dùng để nhận đường dẫn tới thư mục hiện tại được lưu trữ trong directory. Trong đó, drive = 0 để chỉ ổ đĩa hiện tại, drive = 1 cho ổ A, drive = 2 cho ổ B . .Hàm trả lại giá trị 0 nếu thực hiện thành công, trả lại giá trị -1 nếu gặp lỗi.
    Ví dụ:

    Code:
    Code:
    #include <dir.h>
    #include <stdio.h>
    #include <string.h>
    char *current_directory(char *path) {
         	strcpy(path, "X:\\");      /* fill string with form of response: X:\ */
        	path[0] = 'A' + getdisk();    /* replace X with current drive letter */
        	getcurdir(0, path+3);  /* fill rest of string with current directory */
        	return(path);
    }
    int main(void) {
     	    char curdir[MAXPATH];
        current_directory(curdir);
        printf("The current directory is %s\n", curdir);
        return 0;
    }

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Hàm int chmod( char *path, int mode): Được khai báo trong io.h dùng để thay đổi quyền truy nhập file đang tồn tại. Trong đó, char *path là đường dẫn tới file đang tồn tại, int mode là mode mới được đặt quyền truy nhập file; int mode có thể nhận giá trị từ một trong các hằng sau : S_IWRITE (được phép ghi), S_READ (được phép đọc). Hàm cho lại giá trị 0 nếu phép đặt quyền truy nhập thành công, hàm cho lại giá trị -1 nếu gặp lỗi.
    Ví dụ:

    Code:
    Code:
    #include <sys\stat.h>
    #include <stdio.h>
    #include <io.h>
    void make_read_only(char *filename);
    int main(void)
    {
    	make_read_only("NOTEXIST.FIL");
    	make_read_only("MYFILE.FIL");
    	return 0;
    }
    void make_read_only(char *filename)
    {
    	int stat;
    	stat = chmod(filename, S_IREAD);
    	if (stat)
    		printf("Couldn't make %s read-only\n", filename);
    	else
    		printf("Made %s read-only\n", filename);
    }
    Hàm int unlink( const char *path): Được khai báo trong io.h dùng để loại bỏ một file được chỉ ra trong path. Hàm sẽ thực hiện không thành công nếu file không tồn tại hoặc file có thuộc tính readonly. Hàm trả lại giá trị 0 nếu thực hiện thành công, trả lại giá trị -1 nếu gặp lỗi.
    Hàm int remove(const char *path): Được khai báo trong io.h dùng để loại bỏ file được chỉ ra trong path. Hàm trả lại giá trị 0 nếu thực hiện thành công, trả lại giá trị -1 nếu việc xoá không thành công.
    Ví dụ :

    Code:
    Code:
    #include <stdio.h>
    #include <io.h>
    int main(void){
    	FILE *fp = fopen("junk.jnk","w");
    	int status;
    	fprintf(fp,"junk");
    	status = access("junk.jnk",0);
    	if (status == 0)
    		printf("File exists\n");
    	else
    		printf("File doesn't exist\n");
    	fclose(fp);
    	unlink("junk.jnk");
    	status = access("junk.jnk",0);
    	if (status == 0)
    		printf("File exists\n");
    	else
    		printf("File doesn't exist\n");
       return 0;
    }
    Hàm int rename( char *oldname, char newname): Được khai báo trong io.h dùng để đổi tên file hay thư mục được chỉ ra trong oldname thành tên file mới hoặc thư mục mới được chỉ ra trong newname. Hàm cho lại giá trị 0 nếu thực hiện thành công, cho lại giá trị -1 nếu thực hiện không thành công.
    Ví dụ:

    Code:
    Code:
    #include <io.h>
    int main(void){
    	char oldname[80], newname[80];
    	/* prompt for file to rename and new name */
    	printf("File to rename: ");
    	gets(oldname);
    	printf("New name: ");
    	gets(newname);
    	/* Rename the file */
    	if (rename(oldname, newname) == 0)
    		printf("Renamed %s to %s.\n", oldname, newname);
    	else
    		perror("rename");
    	return 0;
    }
    Hàm void getdate(struct date *datep): Được khai báo trong dos.h dùng để nhận ngày tháng hiện tại của hệ thống vào cấu trúc date.
    Ví dụ:

    Code:
    Code:
    #include <dos.h>
    #include <stdio.h>
    int main(void) {
    struct date d;
       	getdate(&d);
       	printf("The current year is: %d\n", d.da_year);
      	printf("The current day is: %d\n", d.da_day);
       	printf("The current month is: %d\n", d.da_mon);
       	return 0;
    }
    Hàm void setdate(struct date *datep): Được khai báo trong dos.h dùng để thiết lập ngày tháng hiện tại của hệ thống.
    Ví dụ:

    Code:
    Code:
    #include <stdio.h>
    #include <process.h>
    #include <dos.h>
    int main(void) {
     	struct date reset;
       	struct date save_date;
       	getdate(&save_date);
       	printf("Original date:\n");
       	system("date");
       	reset.da_year = 2001;
       	reset.da_day = 1;
       	reset.da_mon = 1;
       	setdate(&reset);
       	printf("Date after setting:\n");
       	system("date");
       	setdate(&save_date);
       	printf("Back to original date:\n");
       	system("date");
       	return 0;
    }
    Hàm void gettime(struct time *timep): Được khai báo trong dos.h dùng để nhận thời gian hiện tại của hệ thống.
    Ví dụ:

    Code:
    Code:
    #include   <stdio.h>
    #include   <dos.h>
    int main(void) {
    	struct  time t;
    	gettime(&t);
    	printf("The current time is: %2d:%02d:%02d.%02d\n",
    		  t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
    	return 0;
    }
    Hàm void settime(struct time *timep): Được khai báo trong dos.h dùng để thiết lập thời gian hiện tại của hệ thống.
    Ví dụ:

    Code:
    Code:
    #include <stdio.h>
    #include <dos.h>
    int main(void) {
    	struct  time t;
    	gettime(&t);
    	printf("The current minute is: %d\n", t.ti_min);
    	printf("The current hour is: %d\n", t.ti_hour);
    	printf("The current hundredth of a second is: %d\n", t.ti_hund);
    	printf("The current second is: %d\n", t.ti_sec);
    	/* Add one to the minutes struct element and then call settime  */
    	t.ti_min++;
    	settime(&t);
    	return 0;
    }
    Hàm char *gets(char *string): Được khai báo trong stdio.h dùng để nhận một xâu kí tự từ bàn phím vào string. Khác với sacnf(), gets() chấp nhận xâu kí tự chứa dấu trống.
    Ví dụ:

    Code:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
       printf("Calling abort()\n");
       abort();
       return 0; /* This is never reached */
    }
    #include <stdio.h>
    int main(void){
       	char string[80];
       	printf("Input a string:");
       	gets(string);
       	printf("The string input was: %s\n",string);
       	return 0;
    }
    Hàm int putch(): Được khai báo trong conio.h dùng để đưa kí tự c ra thiết bị ra chuẩn.


    Hàm int puts(char *string): Được khai báo trong stdio.h dùng để đưa một xâu kí tự ra thiết bị ra chuẩn.


    Hàm int fputs(char *string, FILE *fp): Được khai báo trong stdio.h dùng để ghi một xâu kí tự vào tệp được trỏ bởi con trỏ fp.


    Hàm int fputc( char c, FILE *fp): Được khai báo trong stdio.h dùng để ghi một kí tự vào tệp trỏ bởi con trỏ fp.



    Hàm int strlen(char *string):
    Được khai báo trong string.h dùng để tính độ dài xâu kí tự string.



    Hàm char *strcpy(char *str1, char *str2): Được khai báo trong string.h dùng để copy xâu str2 vào xâu str1.



    Hàm int strcmp(char *str1, char *str2):
    Được khai báo trong string.h dùng để so sánh hai xâu kí tự. Hàm trả lại giá trị lớn hơn 0 nếu str1 lớn hơn str2, hàm trả lại giá trị âm nếu str1 nhỏ hơn str2, hàm trả lại giá trị 0 nếu str1=str2.




    Hàm char *strcat(char *str1, char *str2): Được khai báo trong string.h dùng để nối xâu kí tự str2 vào sau xâu sâu str1.



    Hàm int strstr( char *str1, char *str2): Được khai báo trong string.h dùng để xác định xâu str2 có thuộc xâu str1 hay không. Hàm trả lại vị trí của xâu str2 trong xâu str1.




    Hàm char *strupr(char *string): Được khai báo trong string.h dùng để biến đổi xâu kí tự string từ in thường thành in hoa.




    Hàm char *strlwr(char *string): Được khai báo trong string.h dùng để biến đổi xâu kí tự string từ in hoa sang in thường.
    Đã được chỉnh sửa lần cuối bởi AlexF : 25-09-2008 lúc 02:08 PM.

  6. #6
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định Hướng Dẫn Sử Dụng Các Hàm Thông Dụng Trên TC

    C++ ISO99 không có <dos.h>
    Đã được chỉnh sửa lần cuối bởi langman : 28-06-2009 lúc 12:41 AM.
    None!

  7. #7
    Ngày gia nhập
    12 2008
    Nơi ở
    Bình Dương
    Bài viết
    114

    cám ơn! một bài viết rất ý nghĩa!
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Lập trình C++ lỗi khi viết trên dev c, còn trên cfree chạy bình thường
    Gửi bởi truongvantri trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 26-10-2013, 03:34 PM
  2. Trả lời: 30
    Bài viết cuối: 15-02-2012, 07:03 PM
  3. Lập trình Socket trên C++ có thể giao tiếp chương trình Java trên Server được ko các
    Gửi bởi jacobkruse trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-11-2010, 11:10 PM
  4. Source code build trên Ubuntu có chạy được Trên Linux Kernel không ?
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 0
    Bài viết cuối: 03-11-2010, 09:22 AM
  5. Lưu dữ liệu để trống trên một cell của datagirdview trên csdl Access như thế nào?
    Gửi bởi hvcuongit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-05-2009, 04:21 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn