Time of Update: 2018-12-03
在NDK下做網路傳輸時,遇到一個編碼轉換的問題,就是對方傳過來的檔案名稱是中文GBK編碼,需要轉成UTF8來處理。 平常在C/C++環境下編程時,系統都會提供字元編碼轉換的API。如Windows下有MultiByteToWideChar之類的函數,Linux下有iconv庫,純C下用wcstombs、mbstowcs也可以做。然而我在我機上的Android
Time of Update: 2018-12-03
#include "stdio.h"#include "stdlib.h"#include "string.h"#include "/usr/include/mysql/mysql.h"#include "/usr/include/mysql/mysql_version.h"#include "/usr/include/mysql/errmsg.h"int main( int argc,char **argv[] ){ MYSQL my_connection; MYSQL_RES
Time of Update: 2018-12-03
類類比的效能分析 類類比中使用了大量的函數指標,結構體等等,有必須對此進行效能分析,以便觀察這樣的結構對程式的整體效能有什麼程度的影響。 1.函數調用的開銷#define COUNTER XXvoid testfunc(){ int i,k=0; for(i=0;i<YY;i++){k++;}} 在測試程式裡面,我們使用的是一個測試函數,函數體內部可以通過改變YY的值來改變函數的耗時。測試對比是
Time of Update: 2018-12-03
C語言的多態實現 相信很多人都看過設計模式方面的書,大家有什麼體會呢?Bridge,Proxy,Factory這些設計模式都是基於抽象類別的。使用抽象對象是這裡的一個核心。
Time of Update: 2018-12-03
12-3 代碼 /*服務端*/#include<sys/types.h>#include<sys/socket.h>#include<string.h>#include<sys/unistd.h>#include<netinet/in.h>#define MAXSIZE 80#define MYPORT 3490#define BACKLOG 10#define BUFSIZE 100 void main(){ int
Time of Update: 2018-12-03
C語言中的類類比(C++編程思想) 在物件導向的語言裡面,出現了類的概念。這是編程思想的一種進化。所謂類:是對特定資料的特定操作的集合體。所以說類包含了兩個範疇:資料和操作。而C語言中的struct僅僅是資料的集合。(liyuming1978@163.com) 1.執行個體:下面先從一個小例子看起 #ifndef C_Class #define C_Class struct#endif C_Class A { C_Class A *A_this;
Time of Update: 2018-12-03
不好意思,好像我們公司的安全軟體限制了上傳檔案的大小 3.CALLBACK函數。我覺得這是C語言的一個創舉,雖然它很簡單,就象如何把雞蛋豎起來一樣,但是你如果沒想到的話,嘿嘿。如果說靜態入口函數實現了一個可管理的宏觀的話,CallBack就是實現了一個可進化的微觀:它使得一個函數可以在不重新編譯的情況下實現功能的添加!但是在最最早期的時候,也有蠻多人持反對態度,因為它用了函數指標。函數指標雖然靈活,但是由於它要訪問記憶體兩次才可以調用到函數,第一次訪問函數指標,第二次才是真正的函數調用。它的效率
Time of Update: 2018-12-03
C語言中的物件導向思想 經常聽見別人說物件導向的程式設計,以前在學校上課的時候,也有開物件導向程式設計這門課。可是不幸的是,這些都是以C++,甚至VC++為基礎的。而更加不幸的是,多年以來我一直是一個C的使用者。在學校的時候,我主要做的是硬體上的驅動層,和底層功能層。在工作以後,又做的是手機上的軟體開發,所有這些都是和C離不開的。雖然我不得不說,C++是一門很好的語言,但是它的編譯速度,代碼效率,編譯後的代碼大小都限制了它在嵌入式上的應用。(但現在的嵌入式CPU越來越快,記憶體容量變大。我覺得用
Time of Update: 2018-12-03
1.
Time of Update: 2018-12-03
1、在cpp檔案中調用c檔案中實現的函數的時候,需要用extern "C"聲明該函數,否則cpp會按名字改編後的函數名去找該函數而找不到。(這是作用) c檔案中有一函數: void Transfer(int a; char b); cpp檔案中必須用extern "C"聲明該函數如下才可以實行調用: extern "C" void Transfer(int a; char
Time of Update: 2018-12-03
近打算針對iPhone、iPod touch和iPad開發一些應用,所以,需要開始學習Objective C(蘋果推出的類似C語言的開發語言)。由於蘋果的自我封閉的產業鏈發展模式(從晶片、機器、開發語言、終端產品、服務)的限制,要想開發針對蘋果iPhone等產品的應用程式,就需要用Mac機器,在Xcode的IDE上使用Objective C語言開發。Mac機器就不用說了,那比PC機器要貴不少(當然性價比還是很高的),所以,要想廉價方式學習Objective
Time of Update: 2018-12-03
學習C語言 在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數學學習中不同(如運算子等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了;定義C語言是一種電腦程式設計語言。它既具有進階語言的特點,又具有組合語言的特點。它可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴電腦硬體的應用程式。因此,它的應用範圍廣泛。C語言的優點1. 簡潔緊湊、靈活方便2. 運算子豐富 3. 資料結構豐富4.
Time of Update: 2018-12-03
1、指標練習:交換兩個指標變數的值一級指標:*p,*q; int a=0,b=12; int *p=&a,*q=&b; printf("交換前:\n%d,%d,%d\n",p,*p,&p); printf("%d,%d,%d\n",q,*q,&q); swap(p, q); printf("交換後:\n%d,%d,%d\n",p,*p,&p);
Time of Update: 2018-12-03
1、使用指標完成以下內容:定義三個整數的的列陣,寫三個功能,input(),deal(),print():輸入,處理,列印:input功能,需要完成三個編號的輸入,deal功能需要從小到大排序,print功能需要列印結果。我的思路:首先定義一個整數的數組,長度為3;然後分別輸入,再處理排序,用排序方法排序,最後輸出結果;實現代碼:主函數裡就定義四行代碼 : int a[3]; input(a); deal(a); print(a);分別實現的方法:void
Time of Update: 2018-12-03
字元處理函數 本類別函數用於對單個字元進行處理,包括字元的類別測試和字元的大小寫轉換 標頭檔 ctype.h 函數列表<> 函數類別 函數用途 詳細說明 字元測試 是否字母和數字 isalnum 是否字母 isalpha 是否控制字元 iscntrl 是否數字 isdigit 是否可顯示字元(除空格外) isgraph 是否可顯示字元(包括空格) isprint 是否既不是空格,又不是字母和數位可顯示字元 ispunct 是否空格 isspace 是否大寫字母 isupper 是否1
Time of Update: 2018-12-03
第一個關鍵字:auto 用來聲明自動變數。 可以顯式的聲明變數為自動變數。只要不是聲明在所有函數之前的變數,即使沒加auto關鍵字,也預設為自動變數。並且只在聲明它的函數內有效。而且當使用完畢後,它的值會自動還原為最初所賦的值。自動變數使用時要先賦值,因為其中包含的是未知的值。例:auto int
Time of Update: 2018-12-03
參考來自(http://www.zxbc.cn/html/20080829/64948.html0);螺旋隊列21 22 .... 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 看清以上數字排列的規律,設 1 點的座標是 (0,0),x 方向向右為正,y 方向向下為正。例如,7 的座標為 (-1,-1),2 的座標為 (0,1),3 的座標為 (1,1)。編程實現輸入任意一點座標 (x,y),輸出所對應的數字。[Finland
Time of Update: 2018-12-03
1、乘法運算子 2、定義指標int *p = 0; 還是 int* p = 0;?後一種比較容易這樣理解:定義了一個變數p,它是指標型的(更詳細一點,是指向int的指標型),相比而言,前面一種定義似乎是定義了*P這個奇怪的東西。但是後面一種寫法會帶來一個容易產生的誤解:int* p1, p2;這兒給人的感覺似乎是定義了兩個指標型變數p1和p2,但是,事實上,這種直覺是錯誤的,正確的理解方式是int *p1, p2;即p1是指標型的,而p2確是整型的。在MS VC++
Time of Update: 2018-12-03
C-總結 1,C的開發環境是用Visual C++ 6.0 SP6簡體中文版。2. C的標準輸入是:如:inta=0; %的意思是轉義符。scanf(%d\n,&a); &的意思是取地址。%d標識是輸入的是int類型。輸出是:printf(%d,a);//輸出a的值。%d標識輸出的是int類型的值。3.const 關鍵字是限定它定義的變數是不可變的。4.C的三種基礎資料型別 (Elementary Data
Time of Update: 2018-12-03
//=====================================================================//TITLE:// 圖文詳解如何搭建Windows的Android C++開發環境(一)//AUTHOR:// norains//DATE:// Thursday 14-April-2011//Environment:// Cygwin 1.7.9// Android NDK r5//===================