Time of Update: 2018-12-05
/* * chat_server.h * * Created on: 2012-4-19 * Author: root */#ifndef CHAT_SERVER_H_#define CHAT_SERVER_H_#include <iostream>#include <string>#include <fcntl.h>#include <arpa/inet.h>#include <netinet/in.h>#include
Time of Update: 2018-12-05
在許多的資料擷取系統中,現場的強電裝置較多,不可避免 地會產生尖脈衝幹擾,這種幹擾一般期間短,峰值大,對這樣 的資料進行數字濾波處理時,僅僅採用算術平均或移動平均濾波 時,儘管對脈衝幹擾進行了1/n的處理,但,其剩餘值仍然較大。 這種場合最好的策略是:將被認為是受幹擾的訊號資料去掉,這 就是防脈衝幹擾平均值濾波法的原理。 防脈衝幹擾平均值濾波法的演算法是:對連續的n個資料進行排序, 去掉其中最大和最小的2個資料,將剩餘資料示平均值。
Time of Update: 2018-12-05
#include<iostream>#define MAX_SIZE 100using namespace std;int num;int size[MAX_SIZE],s[MAX_SIZE][MAX_SIZE];int ji[MAX_SIZE][MAX_SIZE];void opt_matrix_muln(int size[]){int n=num;int i,j,k,w,q;for(i=1;i<=n;i++)s[i][i]=0;for(w=1;w<=n-1;w++)/
Time of Update: 2018-12-05
摘至《LinuxC編程一站式學習》3.1 Integer Promotion在一個運算式中,凡是可以使用int 或unsigned int 類型做右值的地方也都可以使用有符號或無符號的char 型、short 型和Bit-field。如果原始類型的取值範圍都能用int 型表示,則其值被提升為int 型,如果表示不了就提升為unsigned int 型,這稱為Integer Promotion。做Integer Promotion隻影響上述幾種類型的值,對其它類型無影響。C99規定Integer
Time of Update: 2018-12-05
#include <stdio.h>#include <stdlib.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1typedef char SElemType;typedef struct { SElemType *base; SElemType *top; int
Time of Update: 2018-12-05
在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。(1)第一個作用:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是main.c。下面是a.c的內容#include<cstdio>增加這條語句char a = ‘A‘; // global variablevoid msg() { printf("Hello\n");
Time of Update: 2018-12-05
/* * chat_client.h * * Created on: 2012-4-19 * Author: root */#ifndef CHAT_CLIENT_H_#define CHAT_CLIENT_H_#include <iostream>#include <string>#include <fcntl.h>#include <arpa/inet.h>#include <netinet/in.h>#include
Time of Update: 2018-12-05
仔細想想地位卑賤的類型轉換功能(cast),其在程式設計中的地位就象goto語句一樣令人鄙視。但是它還不是無法令人忍受,因為當在某些緊要的關頭,類型轉換還是必需的,這時它是一個必需品。 不過C風格的類型轉換並不代表所有的類型轉換功能。
Time of Update: 2018-12-05
C數組另類表達刺蝟@http://blog.csdn.net/littlehedgehog 直接來看代碼:#define ACC_MODE(x) ("/000/004/002/006"[(x)&O_ACCMODE]) (摘自 Linux/fs/namei.c )這是個比較令人鬱悶的宏,我初一看曾質疑過C裡面有這種寫法嗎?呵呵,說實話還真有,C裡面數組還真有這樣的寫法,只不過平時我們很少用過罷了。回想一下,例如數組,a[b], 其中 a為基址, []
Time of Update: 2018-12-05
平時要用到枚舉系統硬碟上的檔案的機會比較多,每次幾乎都會重複那一些步驟,而且要枚舉不同的檔案類型也是相當的不方便, 於是簡單的封裝了一個檔案尋找類,暫不支援多線程,不過回呼函數的使用相當的方便與簡潔 封裝的代碼 稍後上傳csdn資源 使用這個類的樣本如下: 首先包含類標頭檔 LxFileFinder.h 其他步驟請看下 /** by beyondcode*/ #include "LxFileFinder.h"#include <stdio.h&
Time of Update: 2018-12-05
Delphi 字長/範圍 C++ShortInt 8位有符號整型 signed charSmallInt 16位有符號整型 shortLongInt
Time of Update: 2018-12-05
文章目錄 1.大尾(big endian)vs.小尾(little endian)2.位欄位的分配3.記憶體對齊4.字元集1.檔案包含宏2.內容1.困惑2.曆史遺留問題 關於C的思考Cong WangMay, 2006 Network Engineering DepartmentInstitute of Post and Telecommunications, Xi'an,
Time of Update: 2018-12-05
位操作一個共同的任務是編程微控制器 MCU開啟或關閉IO 寄存器的一些位bit 很幸運標準C 有較好的和適用的位操作功能而沒有藉助於彙編指令或其它非標準C 結構C 定義了一些按位進行的運算是很有用的a | b – 按位或 這個運算式指示中a 被運算式中的b 按位進行或運算這慣用於開啟某些位尤其常用|=的形式例如PORTA |= 0x80; // 開啟位7 (最高位)a & b – 按位與 這個運算在檢查某些位是否置1 時有用例如If ((PORTA & 0x81) == 0) /
Time of Update: 2018-12-05
http://bbs3.chinaunix.net/viewthread.php?tid=1631299這篇文章講到了C語言指標的理解,樓主雖然理解了指標,但是說話有點偏激,觀點不完全正確。C語言中不僅不存在數群組類型,也不存在char, short, int, long, float,
Time of Update: 2018-12-05
在普通的C編程裡位元運算的使用機會不是很多,所以常常被人遺忘.前天做學校的資料結構作業,題裡需要求2的n次冪,正好用到左移,我就順道把左,右移給複習了一遍.先說左移,左移就是把一個數的所有位都向左移動若干位,在C中用<<運算子.例如:int i = 1;i = i << 2; //把i裡的值左移2位也就是說,1的2進位是000...0001(這裡1前面0的個數和int的位元有關,32位機器,gcc裡有31個0),左移2位之後變成000...0100,也就是10進位的4,
Time of Update: 2018-12-05
轉自http://www.asarea.cn/showdiary.jsp?id=193許久沒有寫技術日誌了,今天寫一篇關於字串轉換的。大家都知道,在標準c++中有string和wstring,前者為多位元組ANSI字串,後者為寬位元組wide字串(UTF-16)。在一些應用中常常需要在二者之間以及與UTF-8之間進行字串轉換,這裡提供一個自己寫的類,用於之間的轉換。原理是利用windows的api:WideCharToMultiByte、MultiByteToWideChar。這兩個api的第一
Time of Update: 2018-12-05
MFC、ATL和CLR是VC2005內建的3大庫,涵蓋了windows的各種開發方法和開發應用。當然關於C++開發的庫不止這3個,不過這3個是微軟推薦。從編程所處層次而言,WIN32為最底層,其次是MFC.然後是CLR. WIN32 winAPI MFC MFC類庫 CLR .net庫1. WIN32常規就是不用MFC,使用API函數編的程式。2. MFC庫有很多年的曆史了,MFC是基於Windows API
Time of Update: 2018-12-05
volatile關鍵字是一種類型修飾符,用它聲明的類型變數表示可以被某些編譯器未知的因素更改。用volatile關鍵字聲明的變數i每一次被訪問時,執行組件都會從i相應的記憶體單元中取出i的值。沒有用volatile關鍵字聲明的變數i在被訪問的時候可能直接從cpu的寄存器中取值(因為之前i被訪問過,也就是說之前就從記憶體中取出i的值儲存到某個寄存器中),之所以直接從寄存器中取值,而不去記憶體中取值,是因為編譯器最佳化代碼的結果(訪問cpu寄存器比訪問ram快的多)。以上兩種情況的區別在於被編譯成彙
Time of Update: 2018-12-05
//大整數乘法#include<iostream>#include<string>using namespace std;void MUL_max(string a,int la,string b,int lb,int **c);//相乘函數void ADD_max(int * d,int **c,int la,int lb);//相加函數char * ZhuanH(string);void main(){string a;string b;cout<<"
Time of Update: 2018-12-05
今天編程時想在類中聲明一個常量數組,發現無法初始化,後來在網上搜尋,證明這是一個無法解決的問題。 因為根據C++文法,常量聲明必須要在建構函式後用參數方式初始化,而x({1.0,2.0})又不符合文法。 只能聲明成static類型,然後在源檔案裡定義。 // a.hclass A{private: static const int xx[10];} // a.cppconst A::xx[10] = {1,2,3,4,5,6,7,8,9,0};