Time of Update: 2017-01-18
1)字串操作 strcpy(p, p1) 複製字串 strncpy(p, p1, n) 複製指定長度字串 strcat(p, p1) 附加字串 strncat(p, p1, n) 附加指定長度字串 strlen(p) 取字串長度 strcmp(p, p1) 比較字串 strcasecmp忽略大小寫比較字串strncmp(p, p1, n) 比較指定長度字串 strchr(p, c) 在字串中尋找指定字元 strrchr(p, c) 在字串中反向尋找 strstr(p, p1) 尋找字串
Time of Update: 2017-01-18
1、system(執行shell 命令)相關函數 fork,execve,waitpid,popen表標頭檔 #include<stdlib.h>定義函數 int system(const char * string);函數說明 system()會調用fork()產生子進程,由子進程來調用/bin/sh-cstring來執行參數string字串所代表的命令,此命令執行完後隨即返回原調用的進程。在調用system()期間SIGCHLD
Time of Update: 2017-01-18
這雖然只是指令解析的一部分,但這是最核心部分。完整指令為:AT+REG[admin][2][00:0C:29:AA:0B:A7]。/**************************************************************** **檔案:GetParameters.c **簡要描述:指令解析 **注:1.這種情況下“AT+ABC[ha12ha[1122]”--即中間少了一個],
Time of Update: 2017-01-18
在項目開發工程中,如果能確定哪個檔案下的哪個函數下的哪行出錯--即鎖定錯誤,那該多好啊,該文章就是為此而作的。首先來瞭解一下檔案預設的輸出資訊的函數吧:檔案資訊函數:複製代碼 代碼如下:printf("line : %d\n", __LINE__);
Time of Update: 2017-01-18
一、映像檔案基本組成映像檔案載入時域包括RO和RW段,運行時域則包括RO、RW和ZI三個段。其中RO和RW段的內容在載入時和運行時是一樣的,只是儲存空間可能不同,而ZI段則是運行時由初始化函數建立的。RO段:Read-Only段,包括來源程式中的CODE段,唯讀資料區段(包括變數的初始化值——可以是任意變數,全域/局部、靜態/動態變數的初值;還包括資料常量——這個常量也可以是全域的或局部的。也就是說,編譯器既要為變數分配儲存空間——變數是可讀寫的,並不放在RO段,又要為變數的初值分配儲存空間,兩
Time of Update: 2017-01-18
C語言中局部變數和全域變數變數的儲存類別(static,extern,auto,register)1.局部變數和全域變數在討論函數的形參變數時曾經提到,形參變數只在被調用期間才分配記憶體單元,調用結束立即釋放。這一點表明形參變數只有在函數內才是有效,離開該函數就不能再使用了。這種變數有效性的範圍稱變數的範圍。不僅對於形參變數,C語言中所有的量都有自己的範圍。變數說明的方式不同,其範圍也不同。C語言中的變數,按範圍範圍可分為兩種,即局部變數和全域變數。1.1局部變數局部變數也稱為內部變數。局部變數
Time of Update: 2017-01-18
喜歡編寫遊戲的朋友們,你們有福了,這個資料足以讓你玩轉WINDOWS和Linux下的游標定位以及顏色,enjoy it。一、WINDOWS:1.游標定位函數:複製代碼 代碼如下:#include <windows.h>#include <conio.h>/****** 游標移到指定位置 ********************************/void gotoxy(HANDLE hOut, int x, int
Time of Update: 2017-01-18
在工作中,C、C++密不可分,做我們嵌入式方面的,當然更多的是C,但,有時候卻少不了C++,而且是C、C++混搭(混合編程)在一起的,比如,RTP視頻傳輸,live555多媒體播放等都是C++下的,他需要調用JRTPLIB庫,再比如,我那郵件發送,我也用C++寫的,定義了一個Email對象,包含了成員:收發郵件地址,使用者名稱,密碼等,以及方法:郵件標頭、Base64編碼和郵件發送這些操作,很好用,所以,很多時候,C++還是蠻不錯的。。。。但,*.c與*.cpp檔案混搭在一起,不是那麼的簡單,知
Time of Update: 2017-01-18
任何資料在記憶體中都是以二進位的形式儲存的,例如一個short型資料1156,其二進位表示形式為00000100 10000100。則在Intel CPU架構的系統中,存放方式為 10000100(低地址單元) 00000100(高地址單元),因為Intel CPU的架構是小端模式。但是對於浮點數在記憶體是如何儲存的?目前所有的C/C++編譯器都是採用IEEE所制定的標準浮點格式,即二進位科學標記法。在二進位科學標記法中,S=M*2^N
Time of Update: 2017-01-18
一.C語言中的static關鍵字在C語言中,static可以用來修飾局部變數,全域變數以及函數。在不同的情況下static的作用不盡相同。(1)修飾局部變數一般情況下,對於局部變數是存放在棧區的,並且局部變數的生命週期在該語句塊執行結束時便結束了。但是如果用static進行修飾的話,該變數便存放在待用資料區,其生命週期一直持續到整個程式執行結束。但是在這裡要注意的是,雖然用static對局部變數進行修飾過後,其生命週期以及儲存空間發生了變化,但是其範圍並沒有改變,其仍然是一個局部變數,範圍僅限於
Time of Update: 2017-01-18
上一篇文章<用C語言實現單鏈表的各種操作(一)>主要是單鏈表的一些最基本的操作,下面,主要是一些其他的典型的演算法和測試程式。 複製代碼 代碼如下:/* 對單鏈表進行排序處理*/struct LNode *sort(struct LNode *head){ LinkList *p; int n,i,j; int temp; n = ListLength(head); if(head == NULL ||
Time of Update: 2017-01-18
最近,從新複習了一下資料結構中比較重要的幾個部分,現在把自己的成果記錄下來,主要就是仿照嚴蔚敏的《資料結構》(C 語言版),中的例子和後面的習題進行改編的。首先,是單鏈表的各種實現,其中,包含了一些常考的知識點。例如,單鏈表的逆置,單鏈表的合并,找到單鏈表的中間節點等的演算法實現。下面這個是單鏈表的結構體的定義: 複製代碼 代碼如下:typedef struct LNode{ ElemType data; struct LNode
Time of Update: 2017-01-18
分別使用C++中的運算子多載的方法來實現大數之間的數學運算,包括加法、減法、乘法、除法、n次方、模數、大小比較、賦值以及輸入資料流、輸出資料流的重載。。並且使用這個大數模板,順利AC了HDOJ上的1134這個題目的Catalan數計數問題。。http://acm.hdu.edu.cn/showproblem.php?pid=1134大數模板的代碼如下:複製代碼 代碼如下:#include<iostream> #include<string>
Time of Update: 2017-01-18
在程式設計語言中都有某種方式,告知編譯器一塊資料是恒定不變的。有兩個需求1. 一個永不改變的編譯器常量2. 一個在運行時被初始化的值,而這個值不會被改變在Java中,使用final修飾變數實現這兩個需求<pre name="code" class="java">//編譯器常量private final int valueOne = 9;private static final int VALUE_TWO = 99;public static final int
Time of Update: 2017-01-18
代碼如下所示:複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#define N 10 //算N的階乘int main(){ //數組 1位 1! int ary[N] = {1, 1}; int i, j; for (i =
Time of Update: 2017-01-18
題目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字以及條件判斷語句(A?B:C)。 分析:這道題沒有多少實際意義,因為在軟體開發中不會有這麼變態的限制。但這道題卻能有效地考查發散思維能力,而發散思維能力能反映出對編程相關技術理解的深刻程度。通常求1+2+…+n
Time of Update: 2017-01-18
mutable關鍵字關鍵字mutable是C++中一個不常用的關鍵字,他只能用於類的非靜態和非常量資料成員我們知道一個對象的狀態由該對象的非待用資料成員決定,所以隨著資料成員的改變,對像的狀態也會隨之發生變化!如果一個類的成員函數被聲明為const類型,表示該函數不會改變對象的狀態,也就是該函數不會修改類的非待用資料成員.但是有些時候需要在該類函數中對類的資料成員進行賦值.這個時候就需要用到mutable關鍵字了例如:複製代碼 代碼如下:class
Time of Update: 2017-01-18
1. inline:定義內嵌函式,該關鍵字是基於定義,如果只在函式宣告時給出inline,則函數不會被認為是內嵌函式,所以必須在函數定義的地方也加上inline,同時inline只是向編譯器建議函數以內嵌函式處理,不是強制的。2.
Time of Update: 2017-01-18
如以下代碼所示:複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <errno.h>int main(int argc, char *argv[]){ pid_t
Time of Update: 2017-01-18
1、linux c代碼實現複製代碼 代碼如下:#include <netdb.h>#include <stdio.h> #include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <netinet/in.h>#include <sys/socket.h>typedef enum