軟體項目中的代碼,少則數千行,多則上萬行,但並非無規律可循。閱讀了那麼多代碼之後,我發現有兩個函數出現的頻率很高,那就是memset()與memcpy()函數,它們都是C語言編程中經常要用到的。工作之餘,我查了一些資料,現對它們作一個簡單的說明。
1. memset()函數
(1)函數原型
void *memset( void *dest, int c, size_t count )。
(2)函數作用
在MSDN中,將該函數的作用描述為:Sets buffers to a specified character,即:將緩衝設定為一個專門的字元。簡單地說,就是將已開闢記憶體空間dest的首count個位元組的值設為值c。
(3)應用舉例
/*************************************************************** *著作權 (C)2014, Zhou Zhaoxiong。 * *檔案名稱:memset.c *內容摘要:用於測試memset函數 *其它說明:無 *目前的版本:V1.0 *作 者:周兆熊 *完成日期:20140329 * *修改記錄1: //修改記錄,包括修改日期、版本號碼、修改人及修改內容等 * 修改日期: * 版本號碼: * 修改人: * 修改內容: ***************************************************************/ #include <memory.h> #include <stdio.h> typedef signed char INT8; //重定義資料類型 typedef signed int INT32; //重定義資料類型 /********************************************************************** *功能描述:主函數 *輸入參數:無 *輸出參數:無 *傳回值:無 *其它說明:無 *修改日期 版本號碼 修改人 修改內容 * ------------------------------------------------------------------------------------------------------ * 20140329 V1.0 周兆熊 建立 ***********************************************************************/ INT32 main(void) { INT8 szTestStr[100] = "AAAAAAAAAA"; printf("The original string is: %s\n", szTestStr); memset(szTestStr, 'B', 5); //調用memset函數 printf("The changed string is: %s\n", szTestStr); return 0; }
該程式的輸出結果為:
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/