Time of Update: 2018-12-03
忘了在那看到的了,寫到這,記錄一下 1)access2)fopen3)stat fstat?>>>>>應當使用函數access,標頭檔是io.h,原型: int access(const char *filename, int amode); amode參數為0時表示檢查檔案的存在性,如果檔案存在,返回0,不存在,返回-1。 這個函數還可以檢查其它檔案屬性: 06 檢查讀寫權限 04 檢查讀許可權
Time of Update: 2018-12-03
#i nclude <stdio.h>#i nclude <dos.h>#i nclude <conio.h>#i nclude <graphics.h>#i nclude <stdlib.h> #ifdef __cplusplus #define __CPPARGS ...#else#define __CPPARGS#endif#define MINBOXSIZE 15 /* 最小方塊的尺寸 */#define BGCOLOR 7
Time of Update: 2018-12-03
線段AB的垂直平分線:先求中點M,再根據線段AB的斜率k1求出直線的斜率k2,k1*k2=-1,最後求出線段的方程:kx-y+C=0。/* 線段的垂直平分線 */Line PerpendicularBisector(Point A, Point B){Point m;// 中點m.x = (A.x + B.x)/2;m.y = (A.y + B.y)/2;Line l;if (dequals(A.y, B.y))// 線段是水平的{l.A = -1;l.B = 0;l.C =
Time of Update: 2018-12-03
求點P(x0, y0)關於直線Ax+Bx+C=0的對稱點M(x1, y1),滿足兩個條件:(1)線段PM的中點在直線上(2)PM與直線垂直/* 點關於直線的對稱點 */Point SymmetricalPoint(Point p, Line l){Point s;double tmp = l.A * l.A + l.B * l.B;s.x = (l.B *l.B*p.x - l.A*l.A*p.x - 2*l.A*l.B*p.y - 2*l.A*l.C) / tmp;s.y =
Time of Update: 2018-12-03
1. Windows環境下 首先,如果配置了boost庫,可以通過boost庫的filesysterm中的path類來擷取。如果沒有配置boost庫,可以通過調用系統命令sysytem("dir > test.txt")將某個檔案夾下的所有檔案名稱寫到test.txt文本中,然後再從文字檔中中讀取即可。假設我要擷取D盤Test檔案夾下的所有檔案名稱,則可以通過如下代碼實現 system("dir D:\\Test /B > D:\\fname.txt");ifstream
Time of Update: 2018-12-03
原始碼工程檔案(vs2005)http://d.download.csdn.net/down/1018461/cctt_1過去在網上找了段代碼,發現寫的代碼要改些地方,而且也想順便練習下自己的c++編碼。首先我要建立一個真正的樹形結構。於是使用了自己過去的GeneralTree.h(當然這裡還是改動些GeneralTree的代碼例如增添了些函數,另外把有些私人函數變成了公有函數)。訓練文字格式設定如下:並命名為decision2.txt 並發在自己的工程目錄下。當然你也可以改改相關原始碼 概念
Time of Update: 2018-12-03
首先Mutx m = new Mutex();在一個函數中 m.WaitOne();然後 m.ReleaseMutex();在另一個函數中 同樣 m.WaitOne();m.ReleaseMutex();你要寫的只能一個進程訪問的程式碼片段就放在m.WaitOne();和m.ReleaseMutex();中間 private Mutex mutF = new Mutex(); private Mutex mutH = new Mutex();
Time of Update: 2018-12-03
(1)C語言的創立早期的UNIX是用組合語言編寫的,但很笨拙,系統難以調試,理解困難。Thompson想利用進階語言的一些優點,幾經嘗試後建立了B語言。B語言是對BCPL的簡化,常駐記憶體。由於記憶體的限制,記憶體中只能放置解譯器,而不是編譯器,效率低下,同時,B語言無法表達不同的資料類型。Dennis Retchie利用PDP-11的強大效能,創立了能夠同時解決多種資料類型和效率的“New B“語言。這個名字很快就變成了"C",這就是C語言。BCPL:基本組合程式設計語言(Basic
Time of Update: 2018-12-03
三角形的內心,就是其內切圓的圓心。三角形三內角平分線相交於一點,該點即為內心。/* 三角形的內心 */Point Incenter(Triangle t){Line l1 = AngleBisector(t.A, t.B, t.C);Line l2 = AngleBisector(t.B, t.A, t.C);int flag;return LinesIntersection(l1, l2, &flag);// flag返回0,兩直線平行}/* 三角形的外接圓 */Circle
Time of Update: 2018-12-03
三角形的重心:三角形三條中線的交點。該交點到頂點的距離是到對邊中點距離的2倍。三角形的垂心:三角形三條高的交點。/* 三角形的重心 */Point BaryCenter(Triangle t){// 三條中線的交點Point m = MiddlePoint(t.B, t.C);Line l1 = LineMake(t.A, m);Point n = MiddlePoint(t.A, t.B);Line l2 = LineMake(t.C, n);int flag;return
Time of Update: 2018-12-03
今天碰到一個問題。啟動並執行時候Server和Client端可以正常通訊,但是調試的時候去在Stream.Read()那裡卡死。看Client端的代碼,發現有很多的thread.Sleep()操作。於是把Thread.Sheep()中的參數值調大了些,向networkStream中寫資料不像過去那麼快,結果調試就pass了。百思不得其解,瑞軍老大說:“StreamRead是不是同一個?”就這一句話解決了JAME(j2me
Time of Update: 2018-12-03
#include <iostream>#include <cmath>#include <windows.h>const int NUM = 4;//多邊形的各邊不能相交,不然計算會出錯//面積為正可以判斷多邊型正面,面積為負表示多邊形背面double GetArea( POINT *pPoint, int nNum ){ double S = 0; for(int i=0; i<nNum-1;
Time of Update: 2018-12-03
最近在閱讀 vivi,順便將其中的針對 2410 有用的部分精簡出來,構成自己的代碼。剛剛完成了彙編部分,head.S 終於順利的跳入到了 main.c 中。這個過程我是逐個功能添加的。每添加一個功能,直到測試成功再添加下一功能。這樣的累積我覺得也是有好處的,可能對每個功能模組、每個步驟都詳細瞭解出了問題也能很快的定位。當然,最重要的是深入細節,其中可以學到很多的東西,掌握很多東西。(“學會”與“掌握”是不同的) 從 head.S 跳入 main.C
Time of Update: 2018-12-03
核心資料結構初始化--核心引導第一部分 start_kernel()中調用了一系列初始化函數,以完成kernel本身的設定。這些動作有的是公用的,有的則是需要配置的才會執行的。在start_kernel()函數中, 輸出Linux版本資訊(printk(linux_banner))設定與體繫結構相關的環境(setup_arch())頁表結構初始化(paging_init())使用"arch/alpha/kernel/entry.S"中的進入點設定系統自陷入口(trap_init())使用alp
Time of Update: 2018-12-03
常見人問起,學C/C++,在Linux下用什麼工具好。有推薦vi/vim和emacs的,個人認為,那太難為像我們這樣的初學者了。印象中,KDE中的KDeveloper非常的不錯,簡直就跟VC是一樣的強大和方便。幾年沒用過了,現在不知怎麼樣了。
Time of Update: 2018-12-03
去Intel面試的同學說面試官考了這個問題,一時真不知道,只好問度娘了。看來C的基礎還是很薄弱了,枉我還敢寫精通C語言。。。轉自:http://qin8.blog.163.com/blog/static/189699090200992034421125/C++中的const正常情況下是看成編譯期的常量,編譯器並不為const分配空間,只是在編譯的時候將期值儲存在名字表中,並在適當的時候摺合在代碼中.所以,以下代碼:#include <iostream>using namespace
Time of Update: 2018-12-03
附錄A:C程式員物件導向編程入門 Open Inventor是一個用於開發3D程式的物件導向工具包。它雖然是用C++開發的,但它同時還包含有C語言編程介面。這本書提到了許多像類、子類、和其它物件導向編程的概念。本書的所有例子都是用C++編寫的。如果在閱讀本書之前,讀者已經對“類”和物件導向的編程方法有了一定的瞭解,那麼您將可以從本書中學到儘可能多的東西(You will get the most from this book if you have a reasonable
Time of Update: 2018-12-03
1、 概述C語言是一種面向過程的程式設計語言,而C++是在C語言基礎上衍生來了的物件導向的語言,實際上,很多C++實現的底層是用C語言實現的,如在Visual C++中的Interface其實就是struct,尋找Interface的定義,你可以發現有這樣的宏定義:#ifndef Interface#define Interface
Time of Update: 2018-12-03
成員函數的重載(overload)、覆蓋(override)與隱藏很容易混淆,C++程式員必須要搞清楚概念,否則錯誤將防不勝防。1 重載與覆蓋成員函數被重載的特徵:(1)相同的範圍(在同一個類中);(2)函數名字相同;(3)參數不同;(4)virtual關鍵字可有可無。覆蓋是指衍生類別函數覆蓋基類函數,特徵是:(1)不同的範圍(分別位於衍生類別與基類);(2)函數名字相同;(3)參數相同;(4)基類函數必須有 virtual關鍵字。樣本 1中,函數 Base::f(int)與
Time of Update: 2018-12-03
4.2 多角度保證測試效果 對於代碼品質要求很高的項目來說,僅有白盒覆蓋是遠遠不夠的。白盒覆蓋不能發現代碼缺失,白盒覆蓋基於現有代碼,如果代碼不存在,當然不能發現。為了檢測代碼缺失,需要人工對測試資料進行檢查。白盒覆蓋也不能發現用例未反映功能。如果設計用例時,測試員不瞭解代碼的功能,通過閱讀代碼來設計用例,這叫跟著代碼走,這樣測試的話,再高的覆蓋率也沒有意義。這也從另一個角度說明了自動用例的局限性,完全由工具自動產生的用例,效果顯然還比不上跟著代碼走。