C語言getcwd()函數:取得當前的工作目錄標頭檔:#include <unistd.h>定義函數:char * getcwd(char * buf, size_t size);函數說明:getcwd()會將當前的工作目錄絕對路徑複製到參數buf 所指的記憶體空間,參數size 為buf 的空間大小。註:1、在調用此函數時,buf 所指的記憶體空間要足夠大。若工作目錄絕對路徑的字串長度超過參數size 大小,則返回NULL,errno 的值則為ERANGE。2、倘若參數buf
C語言system()函數:執行shell命令標頭檔: #include <stdlib.h>定義函數:int system(const char * string);函數說明:system()會調用fork()產生子進程, 由子進程來調用/bin/sh-c string 來執行參數string 字串所代表的命令, 此命令執行完後隨即返回原調用的進程. 在調用system()期間SIGCHLD 訊號會被暫時擱置,SIGINT 和SIGQUIT 訊號則會被忽略.傳回值:1、如果
1.類型:表示輸出類型的格式字元
C語言fscanf()函數:輸入函數(比較常用)標頭檔:#include <stdio.h>定義函數:int fscanf(FILE * stream, const char *format, ...);函數說明:fscanf()會自參數stream 的檔案流中讀取字串, 再根據參數format 字串來轉換並格式化資料。格式轉換形式請參考scanf(). 轉換後的結構存於對應的參數內。傳回值:成功則返回參數數目, 失敗則返回-1, 錯誤原因存於errno 中。範例#include &
C++順序結構程式【例】求一元二次方程式ax2+bx+c=0的根。a,b,c的值在運行時由鍵盤輸入,它們的值滿足b2-4ac≥0。根據求x1,x2的演算法。它可以編寫出以下C++程式:#include <iostream>#include <cmath> //由於程式要用到數學函數sqrt,故應包含標頭檔cmathusing namespace std;int main( ){ float a,b,c,x1,x2;
explicit關鍵字用來修飾類的建構函式,表明建構函式是顯示的,相對的是implicit關鍵字。首先這個關鍵字只能用在類內部的建構函式聲明上,而不能用在類外部的函數定義上,它的作用是不能進行隱式轉換。複製代碼 代碼如下: class gxgExplicit //沒有關鍵字explicit的類 {
一. 簡介new有三種使用方式:plain new,nothrow new和placement new。(1)plain new顧名思義就是普通的new,就是我們慣常使用的new。在C++中是這樣定義的: void* operator new(std::size_t) throw(std::bad_alloc); void operator delete(void *) throw();提示:plain
isatty()函數標頭檔:#include <unistd.h>定義函數:int isatty(int desc);函數說明:如果參數 desc 所代表的檔案描述詞為一終端機則返回1, 否則返回0.傳回值:如果檔案為終端機則返回1, 否則返回0.C語言ttyname()函數:返回一終端機名稱標頭檔:#include <unistd.h>定義函數:char * ttyname(int desc);函數說明:如果參數desc 所代表的檔案描述詞為一終端機,
C語言putenv()函數:改變或增加環境變數標頭檔:#include4<stdlib.h>定義函數:int putenv(const char * string);函數說明:putenv()用來改變或增加環境變數的內容. 參數string 的格式為name=value, 如果該環境變數原先存在, 則變數內容會依參數string 改變, 否則此參數內容會成為新的環境變數.傳回值:執行成功則返回0, 有錯誤發生則返回-1.錯誤碼:ENOMEM 記憶體不足,
C語言accept()函數:接受socket連線標頭檔:#include <sys/types.h> #include <sys/socket.h>定義函數:int accept(int s, struct sockaddr * addr, int * addrlen);函數說明:accept()用來接受參數s 的socket 連線. 參數s 的socket 必需先經bind()、listen()函數處理過, 當有連線進來時accept()會返回一個新的socket
C語言getgrent()函數:從組檔案中取得帳號的資料標頭檔:#include <grp.h> #include <sys/types.h>定義函數:struct group * getgrent(void);函數說明:getgrent()用來從組檔案(/etc/group)中讀取一項組資料, 該資料以group 結構返回. 第一次調用時會取得第一項組資料, 之後每調用一次就會返回下一項資料, 直到已無任何資料時返回NULL.struct group{ char *
C語言tan()函數:正切函數標頭檔:#include <math.h>tan() 函數用來求給定值的正切值,其原型為: double tan(double x);【參數】x 為給定的弧度值。【傳回值】返回 x 的正切值。注意,使用 GCC 編譯時間請加入-lm。請看下面的代碼:#include <math.h>main(){ double answer = tan(0.5); printf("tan(0.5) = %f\n", answer);}輸出結果:tan(
ctime()函數:標頭檔:#include <time.h>定義函數:char *ctime(const time_t *timep);函數說明:ctime()將參數timep 所指的time_t 結構中的資訊轉換成真實世界所使用的時間日期表示方法,然後將結果以字串形態返回。此函數已經由時區轉換成當地時間,字串格式為"Wed Jun 30 21 :49 :08
C語言malloc()函數:動態分配記憶體空間標頭檔:#include <stdlib.h>malloc() 函數用來動態地分配記憶體空間(如果你不瞭解動態記憶體分配,請查看:C語言動態記憶體分配及變數儲存類別),其原型為:void* malloc (size_t size);【參數說明】size 為需要分配的記憶體空間的大小,以位元組(Byte)計。【函數說明】malloc()
C語言bcopy()函數:複製記憶體(字串)標頭檔:#include <string.h>bcopy() 函數用來複製記憶體(字串),其原型為: void bcopy(const void *src, void *dest, int n);【參數】src 為源記憶體塊(字串)指標,dest 為目標記憶體塊(字串)指標,n 為要複製的記憶體(字串)的前 n 個位元組長度。bcopy()與memcpy()一樣都是用來拷貝src 所指的記憶體內容前n 個位元組到dest
C語言isdigit()函數:判斷字元是否為阿拉伯數字標頭檔:#include <ctype.h>定義函數:int isdigit(int c);函數說明:檢查參數 c 是否為阿拉伯數字0 到9。傳回值:若參數c 為阿拉伯數字,則返回true,否則返回null(0)。附加說明:此為宏定義,非真正函數。範例:找出str 字串中為阿拉伯數位字元。#include <ctype.h>main(){ char str[] = "123@#FDsP[e?"; int i;
本篇筆記總結自一次代碼檢視。一般來說,使用C語言編程時我們都習慣在代碼當中使用C當中的宏定義來定義一個數值常量:#define MY_CONST 7在C++開發項目時,也會經常存在沿襲C當中常量用法情況。所以,如下的一種寫法看起來反倒覺得有些不正宗了:class MyClass { static const int my_const = 7; //
C語言tolower()函數:將大寫字母轉換為小寫字母標頭檔:#include <ctype.h>定義函數:int toupper(int c);函數說明:若參數 c 為小寫字母則將該對應的大寫字母返回。傳回值:返迴轉換後的大寫字母,若不須轉換則將參數c 值返回。範例:將s 字串內的小寫字母轉換成大寫字母。#include <ctype.h>main(){ char s[] = "aBcDeFgH12345;!#$"; int i; printf("before
C語言strspn()函數:計算字串str中連續有幾個字元都屬於字串accept標頭檔:#include <string.h>strspn() 函數用來計算字串 str 中連續有幾個字元都屬於字串 accept,其原型為:size_t strspn(const char *str, const char * accept);【函數說明】strspn() 從參數 str 字串的開頭計算連續的字元,而這些字元都完全是 accept 所指字串中的字元。簡單的說,若 strspn()
在以下三種情況下需要使用初始化成員列表:一,需要初始化的資料成員是對象的情況;二,需要初始化const修飾的類成員;三,需要初始化引用成員資料;原因:C++可以定義參考型別的成員變數,參考型別的成員變數必須在建構函式的初始化列表中進行初始化。對於類成員是const修飾,或是參考型別的情況,是不允許賦值操作的,(顯然嘛,const就是防止被錯誤賦值的,參考型別必須定義賦值在一起),因此只能用初始化列表對齊進行初始化。成員類型是沒有預設建構函式的類。若沒有提供顯示初始化式,則編譯器隱式使用成員類型的