Time of Update: 2018-12-08
C++格式化輸出浮點數複製代碼 代碼如下:#include <iostream>using std::cout;using std::endl;using std::fixed;using std::scientific;int main(){ double x = 0.001234567; double y = 1.946e9; cout << "Displayed in default format:" << endl << x &
Time of Update: 2018-12-08
一般情況下,在函數調用時形參從實參那裡取得值,因此實參的個數應與形參相同。有時多次調用同一函數時用同樣的實參,C++提供簡單的處理辦法,給形參一個預設值,這樣形參就不必一定要從實參取值了。如有一函式宣告float area(float r=6.5);指定r的預設值為6.5,如果在調用此函數時,確認r的值為6.5,則可以不必給出實參的值,如area( ); //相當於area(6.5);如果不想使形參取此預設值,則通過實參另行給出。如area(7.5);
Time of Update: 2018-12-08
利用C++,讀入一個英文文本,並將文本中的每個英文單字首大寫。本程式練習了從一個文本中讀入流,用到了fstream流。 在文本的轉換過程中,用到了isalpha()——是否是字母,toupper()——轉換為大寫字元 這兩個函數(針對string對象的單個字元的操作。類似的操作還有isalnum()——是否是字母或數字,iscntrl()——是否是控制字元, isdigit()——是否是數字,isgraph()——是否不是空格,但可以列印,islower()——是否是小寫字母, isprint(
Time of Update: 2018-12-08
在C++中,不能聲明虛建構函式,但可以聲明虛解構函式。多態性是指不同的對象對同一訊息有不同的行為特性。虛函數作為運行時多態性的基礎,主要是針對對象的,而建構函式是在對象產生之前啟動並執行,因此虛建構函式是沒有意義的。解構函式的功能是在該類對象消亡之前進行一些必要的清理工作,解構函式最好都是virtual的。首先解釋一下虛構函數和指標之間是如何互動的,以及虛解構函式的具體含義。例如以下代碼,其中SomeClass是含有非virtual解構函式的一個類:SomeClass *p= new
Time of Update: 2018-12-08
用C++語言實現,將一句話中的單詞進行倒置(單詞之間倒轉,單詞本身不倒置),標點符號不導致。比如一句話“I come from tianjin. “,倒置後變成“tianjin. from come I ”。C常見的庫函數有:複製代碼 代碼如下:int strstr(const char* string,const char* substring) 用於返回主串中子串的位置以後的所有字元。比如主串是“123456789”,子串是“234”,則返回“23456789”。char*
Time of Update: 2018-12-08
指標是C/C++語言的特色,而數組名與指標有太多的相似,甚至很多時候,數組名可以作為指標使用。但是數組名有些地方又不同於指標。這裡將數組名與指標用法的不同做一下總結(有些資料來自互連網),不妥之處,還望指正!(本文程式在WIN32平台下編譯):1、數組名和指向那個數組的指標,地址相同,但大小不同用例子來說明:複製代碼 代碼如下:#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc,
Time of Update: 2018-12-08
不知道何時起, 非常刻意避免在 for 迴圈體內改變變數值. 似乎是受別人觀點影響, 但卻並不知曉原因.可是有時候用其他方法替代卻不方便, 自己試了一下, 或許找到了一絲差異.用這種方法賦值時, 沒有出現問題:複製代碼 代碼如下:#include <stdio.h>int main(){ int i; for(i=0; i<10; i++) { i = i+2; printf("%d/n", i); } return 0;}但是另外一種賦值方法, 卻是不行的.複製代碼
Time of Update: 2018-12-08
網上有 md5.c , md5.h, 但是裡面只有 MD5Init(), MD5Update(), MD5Final() 三個函數, 只可以直接對字元進行操作, 而沒有直接求檔案md5的介面. 以下是我的實現, 可計算32位和16位的md5值.複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include "md5.h"char *MD5_file (char *path,
Time of Update: 2018-12-08
今天用ftruncate截斷檔案, 但怎麼都不能達到預料的效果, 截斷後檔案中的內容比較雜, 而且檔案大小也保持原來的.添加 fflush() 和 rewind() 後OK.以下是測試代碼:複製代碼 代碼如下:#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(){ FILE *fp; char *file = "tmp"; int i; int fd; fp = fopen(
Time of Update: 2018-12-08
喜歡編寫遊戲的朋友們,你們有福了,這個資料足以讓你玩轉WINDOWS和Linux下的游標定位以及顏色,enjoy it。一、WINDOWS:1.游標定位函數:複製代碼 代碼如下:#include <windows.h>#include <conio.h>/****** 游標移到指定位置 ********************************/void gotoxy(HANDLE hOut, int x, int y){ COORD pos;
Time of Update: 2018-12-08
在工作中,C、C++密不可分,做我們嵌入式方面的,當然更多的是C,但,有時候卻少不了C++,而且是C、C++混搭(混合編程)在一起的,比如,RTP視頻傳輸,live555多媒體播放等都是C++下的,他需要調用JRTPLIB庫,再比如,我那郵件發送,我也用C++寫的,定義了一個Email對象,包含了成員:收發郵件地址,使用者名稱,密碼等,以及方法:郵件標頭、Base64編碼和郵件發送這些操作,很好用,所以,很多時候,C++還是蠻不錯的。。。。但,*.c與*.cpp檔案混搭在一起,不是那麼的簡單,知
Time of Update: 2018-12-08
C#中遍曆各類資料集合的方法,這裡自己做下總結: 1.枚舉類型 複製代碼 代碼如下://遍曆枚舉類型Sample的各個枚舉名稱 foreach (string sp in Enum.GetNames(typeof(Sample))) { ary.Add(sp); } //遍曆枚舉類型Sample的各個枚舉值 foreach (string sp in Enum.GetValues(typeof(Sample))) { ary.Add(sp); }
Time of Update: 2018-12-08
複製代碼 代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 演算法{ class 全組合演算法 { [Flags] public enum PersonType { Audit = 1, Child = 2, Senior = 4
Time of Update: 2018-12-08
複製代碼 代碼如下:public static void Disconnect(){ string url = "斷 線"; string uri = "http://192.168.1.1/userRpm/StatusRpm.htm?Disconnect=" + System.Web.HttpUtility.UrlEncode(url, System.Text.Encoding.GetEncoding("gb2312")) + "&wan=1"; string
Time of Update: 2018-12-08
代碼如下所示:複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#define N 10 //算N的階乘int main(){ //數組 1位 1! int ary[N] = {1, 1}; int i, j; for (i = 2; i <= N; i++) { //各個下標的階乘,第0位下標是位元,所以從第1位開始 for (j = 1; j <
Time of Update: 2018-12-08
類和結構的區別:1.一個是參考型別一個是實值型別Class是參考型別,繼承自System.Object類Struct是實值型別,繼承自System.ValueType類,因此不具有多態性因為結構是實值型別,所以結構之間賦值可以建立新的結構,複製包含結構的變數時,講複製所有的資料,對新的副本所作的修改都不會改變舊副本的資料,而類是參考型別,類之間的賦值只是複製引用。2.
Time of Update: 2018-12-08
1.複製代碼 代碼如下: private void Form1_Load(object sender, System.EventArgs e) for(double d=0.01; d< 1; d+=0.02) { System.Threading.Thread.Sleep(1); Application.DoEvents(); this.Opacity=d; this.Refresh(); }2
Time of Update: 2018-12-08
在C# winform 應用程式中,對於鍵盤響應事件,經常使用到"KeyPress"、“KeyUp”、"KeyDown"事件,可以處理某個按鍵的自訂處理事件。有時想定義方向鍵的自訂處理事件時,你可以發現,雖然自訂的處理事件發生了響應,但是也可以看到,按下方向鍵時,發現表單上控制項的焦點也發生了切換。而這種結果不是我們想要的,我們不想按下方向鍵時,控制項的焦點發生切換,只想響應我們自訂的處理函數即可。下面的方法可以取消方向鍵對控制項焦點的控制:複製代碼 代碼如下:protected
Time of Update: 2018-12-08
在日常編碼過程中會遇見各種編譯錯誤,本文對常見的編譯錯誤進行分析總結。(基本的編譯錯誤在這裡不列舉,後續後持續更新)1、error c101008a解決方案該錯誤出現在項目升級過程中會出現,比如說項目從vs2008升級到vs2010.解決辦法:在項目上點右鍵,清理(Clean),重新編譯,問題解決2、error C2252解決方案該錯誤主要在項目從vs2008升級到vs2010出先。error C2252: an explicit instantiation of a template can
Time of Update: 2018-12-08
在日常開發過程中經常會使用到時間類函數的統計,其中擷取1970年至今的UTC時間是比較常使用的,但是在windows下沒有直接能夠精確到微妙級的函數可用。本文提供方法正好可以解決這類需求問題。下面先給出C++實現代碼:複製代碼 代碼如下:#ifndef UTC_TIME_STAMP_H_#define UTC_TIME_STAMP_H_#include <windows.h>#include <sys/timeb.h>#include <time.h>