Time of Update: 2017-02-27
函數名: gcvt功能: 把浮點數轉換成字串用法: char *gcvt(double value, int ndigit, char *buf);程式例:#include#includeint main(void){char str[25];double num;int sig = 5; /* significant digits *//* a regular number */num = 9.876;gcvt(num, sig, str);printf("string =
Time of Update: 2017-02-27
函數名: sbrk功能: 改變資料區段空間位置用法: char *sbrk(int incr);程式例:#include#includeint main(void){printf("Changing allocation with sbrk()\n");printf("Before sbrk() call: %lu bytes free\n",(unsigned long) coreleft());sbrk(1000);printf("
Time of Update: 2017-02-27
什麼是結構體?簡單的來說,結構體就是一個可以包含不同資料類型的一個結構,它是一種可以自己定義的資料類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的資料類型,第二相同結構的結構體變數是可以相互賦值的,而數組是做不到的,因為數組是單一資料類型的資料集合,它本身不是資料類型(而結構體是),數組名稱是常量指標,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使資料類型和數組大小完全相同。定義結構體使用struct修飾符,例如:struct
Time of Update: 2017-02-27
函數名: wherex功能: 返回視窗內水平游標位置用法: int wherex(void);程式例:#includeint main(void){clrscr();gotoxy(10,10);cprintf("Current location is X: %d Y: %d\r\n", wherex(), wherey());getch();return 0;}函數名: wherey功能: 返回視窗內垂直游標位置用法: int
Time of Update: 2017-02-27
常見的中文內碼一般有GB2312(簡體中文),GBK和台灣那邊用的BIG5(繁體中文),有時候看一些台灣編程論壇裡的資料,都是亂碼,如果在IE中瀏覽,則要求安裝繁體字型檔的支援。網上也有很多中文內碼的轉換工具,什麼專家,大師,巨匠之類所有光輝燦爛的名字都被使用了,但是在自己的程式中整合這些功能豈不是更好。以前曾廣泛流傳過使用碼錶來轉換中文內碼的Code,但畢竟不完美,而且還要攜帶或內建一個巨大的表,浪費資源。Windows中提供了MultiByteToWideChar和WideCharToMul
Time of Update: 2017-02-27
1 基本解釋extern可以置於變數或者函數前,以標示變數或者函數的定義在別的檔案中,提示編譯器遇到此變數和函數時在其他模組中尋找其定義。另外,extern也可用來進行連結指定。2 問題:extern 變數在一個源檔案裡定義了一個數組:char a[6];在另外一個檔案裡用下列語句進行了聲明:extern char *a;請問,這樣可以嗎?答案與分析:1)、不可以,程式運行時會告訴你非法訪問。原因在於,指向類型T的指標並不等價於類型T的數組。extern char
Time of Update: 2017-02-27
一般的盜密碼的軟體的軟體都是通過監視鍵盤來獲得密碼,這樣操作比較方便,但是這樣也存在一定問題,密碼有的時候不是很準確,因為有的人輸入密碼並不是從前到後輸入,當然這樣的人也是少數,盜密碼嘛,當然去得到那些比較粗心的人的密碼! 通過安裝鉤子來監視QQ登陸介面就是獲得密碼的方法,在安裝前得先找到登陸視窗的控制代碼,當鉤子安裝後,記錄鍵盤,當使用者“斷行符號”或是點了“登陸”就可以開始處理密碼了!
Time of Update: 2017-02-27
二、串連時的常見錯誤1.將Turbo C庫函數名寫錯。這種情況下在串連時將會認為此函數是使用者自訂函數。此時螢幕顯示:Undefined symbol '<函數名>' in <程式名> 2.多個檔案串連時,沒有在"Project/Project name中指定專案檔(.PRJ檔案),此時出現找不到函數的錯誤。 3.子函數在說明和定義時類型不一致。4.程式調用的子函數沒有定義。
Time of Update: 2017-02-27
Turbo C程式的調試一個程式設計好了以後,通常會有一些錯誤,尋找和修改程式中的錯誤是令人頭痛的事。Turbo C整合式開發環境提供了一調試裝置,使得這一個工作容易了許多,程式調試達到了編譯和運行級。一、TC訊息視窗使用TC最好的理由之一是它允許使用者修改語法錯誤(編譯時間)和評估編譯器給出的警告。TC將編譯器和連接器發出的訊息收集到一緩衝區中,然後在訊息視窗中顯示,這樣在訪問原始碼的同時,還能一下看到這些訊息。
Time of Update: 2017-02-27
小結1.從程式執行的流程來看, 程式可分為三種最基本的結構: 順序結構,分支結構以及迴圈結構 2.程式中執行部分最基本的單位是語句。C語言的語句可分為五類:(1)運算式語句 任何錶達式末尾加上分號即可構成運算式語句, 常用的運算式語句為指派陳述式。(2)函數調用語句 由函數調用加上分號即組成函數調用語句。(3)控制語句 用於控製程序流程,由專門的語句定義符及所需的運算式組成。主要有條件判斷執行語句,迴圈執行語句,轉向語句等。(4)複合陳述式 由{}把多個語句括起來組成一個語句。
Time of Update: 2017-02-27
C語言的資料類型在第一課中,我們已經看到程式中使用的各種變數都應預先加以說明,即先說明,後使用。對變數的說明可以包括三個方面:·資料類型·儲存類型·範圍在本課中,我們只介紹資料類型說明。其它說明在以後各章中陸續介紹。所謂資料類型是按被說明量的性質,表示形式,佔據儲存空間的多少,構造特點來劃分的。在C語言中,資料類型可分為:基礎資料型別 (Elementary Data Type),構造資料類型,指標類型,空類型四大類。1.基礎資料型別
Time of Update: 2017-02-27
預先處理指令由ANSI的標準規定,預先處理指令主要包括:#define #error #if #else #elif #endif #ifdef #ifndef #undef #line #pragma 由上述指令可以看出,每個預先處理指令均帶有符號"#"。下面只介紹一些常用指令。1.#define指令#define指令是一個宏定義指令,定義的一般形式是:#define 宏替換名字串(或數值) 由#define指令定義後,在程式中每次遇到該宏替換名時就用所定義的字串(或數值)
Time of Update: 2017-02-27
2.結構和聯合的區別結構和聯合有下列區別:1.結構和聯合都是由多個不同的資料類型成員組成,但在任何同一時刻,聯合中只存放了一個被選中的成員,而結構的所有成員都存在。2.對於聯合的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了,而對於結構的不同成員賦值是互不影響的。下面舉一個例了來加對深聯合的理解。例4:main() { union{ /*定義一個聯合*/ int i; struct{ /*在聯合中定義一個結構*/ char first; char second; }
Time of Update: 2017-02-27
一、嵌套結構嵌套結構是指在一個結構成員中可以包括其它一個結構,Turbo C允許這種嵌套。例如:下面是一個有嵌套的結構struct string{ char name[8]; int age; struct addr address; } student; 其中:addr為另一個結構的結構名,必須要先進行說明,即struct addr{ char city[20]; unsigned lon zipcode; char tel[14]; }
Time of Update: 2017-02-27
二、結構指標結構指標是指向結構的指標。它由一個加在結構變數名前的"*" 操作符來定義,例如用前面已說明的結構定義一個結構指標如下: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }*student; 也可省略結構指標名只作結構說明,然後再用下面的語句定義結構指標。 struct string *student;
Time of Update: 2017-02-27
一、位域有些資訊在儲存時,並不需要佔用一個完整的位元組, 而只需占幾個或一個二進位位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省儲存空間,並使處理簡便,C語言又提供了一種資料結構,稱為“位域”或“位段”。所謂“位域”是把一個位元組中的二進位劃分為幾個不同的地區, 並說明每個地區的位元。每個域有一個網域名稱,允許在程式中按網域名稱進行操作。
Time of Update: 2017-02-27
本文詳細介紹C語言中trim的實現描述自己用ATL寫了個COM,不支援MFC,所以無法用CString,但支援C編碼,遇到字串(字元數組),想去掉字串中的空格,C下沒有TRIM函數,找又沒找到,幾行代碼自己寫吧。往後大家萬一遇到用著也方便。說明1.seps是需要去除的字元數組,可以有幾個字元,也可以一個。這裡是空格,最常用的。2.參數也很簡單,第一個是結果數組指標,第二個是原字元數組指標,第三個是需要去掉的字元數組指標。返回的是結果數組指標。#include
Time of Update: 2017-02-27
可能大家都知道C語言中的隨機函數random,可是random函數並不是ANSI C標準,所以說,random函數不能在gcc,vc等編譯器下編譯通過。那麼怎麼實現C語言中的隨機函數呢?除了random函數,還有一個rand函數,也是一個隨機函數,可以產生從0到rand_max的隨機數。#include <stdio.h>#include <stdlib.h>int main(){int k;k=rand();printf("%d\n",
Time of Update: 2017-02-27
現在,有很多C/C++程式員總是自命不凡,看不起其他開發人員。其實,或許別人更看不起他呢!學生時代,我也曾醉心於C/C++,但時至今日,始終無法寫出無懈可擊的C++代碼,所以我始終認為我不會C/C++。這些年,我一直在尋找編寫C++代碼的最佳模式。但是,老實說,我還沒有見到過哪個稱得上高手的C++程式員,也沒有見到過寫得Very
Time of Update: 2017-02-27
在跨平台的開發過程中,很多問題都和編譯器有關。因此我們先來聊聊編譯器相關的問題 。★編譯器的選擇首先,GCC是優先要考慮支援的,因為幾乎所有作業系統平台都有GCC可用。它基本上成了 一個通用的編譯器了。如果你的代碼在A平台的GCC能夠編譯通過,之後拿到B平台用類似版本 的GCC編譯,一般也不會有太大問題。因此GCC是肯定要考慮支援的。其次,要考慮是否支援本地編譯器。所謂本地編譯器就是作業系統廠商自產的編譯器。例 如相對於Windows的本地編譯器就是Visual