Time of Update: 2017-01-19
本文執行個體講述了C++獲得檔案狀態資訊的方法。分享給大家供大家參考。具體如下://C++ 獲得檔案狀態資訊源碼,//C++ 獲得檔案所在磁碟盤符源碼,//C++ 檔案建立時間源碼,//C++ 訪問時間源碼,//C++ 最後修改日期源碼,No such file or directory(無此檔案或索引)#include<iostream.h>#include <time.h>#include <sys/types.h>#include
Time of Update: 2017-01-19
在編寫多線程程式時,多個線程同時訪問某個共用資源,會導致同步的問題,這篇文章中我們將介紹 C++11 多線程編程中的資料保護。資料丟失讓我們從一個簡單的例子開始,請看如下代碼: #include <iostream>#include <string>#include <thread>#include <vector> using std::thread;using std::vector;using
Time of Update: 2017-01-19
本文執行個體講述了C++實現目前時間動態顯示的方法。分享給大家供大家參考。具體如下:/* 24-06-10 10:44 動態顯示時間 但不是最優的 功能很單一 本程式關鍵是對時鐘函數的使用 **tm結構定義了 年、月、日、時、分、秒、星期、當年中的某一天、夏令時 **用localtime擷取當前系統時間,該函數將一個time_t時間轉換成tm結構表示的時間,函數原型: struct tm * localtime(const time_t *)
Time of Update: 2017-01-19
本文執行個體講述了C++非遞迴隊列實現二叉樹的廣度優先遍曆。分享給大家供大家參考。具體如下:廣度優先非遞迴二叉樹遍曆(或者說層次遍曆):void widthFirstTraverse(TNode* root) { queue<TNode*> q; // 隊列 q.enqueue(root); TNode* p; while(q.hasElement()) { p = q.dequeue(); // 隊首元素出隊列 visit(p); // 訪問p結點
Time of Update: 2017-01-19
一、 定義: sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的記憶體位元組數。其傳回值類型為size_t,在標頭檔stddef.h中定義。在32位系統中:char的sizeof值為1,char是我們編程能用的最小資料類型。short的sizeof值為2; int、float、long為4;double為8;所有的指標的sizeof值都為4。二、文法:sizeof有三種文法形式,如下:1) sizeof( object ); //
Time of Update: 2017-01-19
本文執行個體講述了C語言將24小時制轉換為12小時制的方法。分享給大家供大家參考。具體實現方法如下:/** 24小時制轉換為12小時制*/#include <stdio.h>int main(){ int n, m; printf("Enter a 24-hour time:"); scanf_s("%d:%d",&n,&m); if (n < 0) { printf("Error1!\n"); system("PAUSE"); return 1;
Time of Update: 2017-01-19
指向對象的指標在建立對象的時候,變異系統會給每一個對象分配一定的儲存空間,以存放其成員。對象空間的起始地址就是對象的指標。可以定義一個指標變數,用來存放對象的指標。一個簡單的樣本1.1:複製代碼 代碼如下:#include<iostream>using namespace std;class Student{ public: int num; int score; Student(int ,int
Time of Update: 2017-01-19
遞推演算法是非常常用的演算法思想,在數學計算等場合有著廣泛的應用。遞推演算法適合有明顯公式規律的場合。遞推演算法基本思想遞推演算法是一種理性思維莫斯的代表,根據已有的資料和關係,逐步推到而得到結果。遞推演算法的執行過程如下:(1)根據已知結果和關係,求解中間結果。(2)判斷是否達到要求,如果沒有達到,則繼續根據已知結果和關係求解中間結果。如果滿足要求,則表示尋找到一個正確答案。遞推演算法需要使用者知道答案和問題之間的邏輯關係。在許多數學問題中,都有明確的計算公式可以遵循,因此可以採用遞推演算法來
Time of Update: 2017-01-19
利用輸入字串流:std::istringstream複製代碼 代碼如下:bool b;std::string s = "true";std::istringstream(s) >> std::boolalpha >> b;但當字串s為“1”時,上面的代碼無法正確轉換,此時應該用:複製代碼 代碼如下:bool b;std::string s = "1";istringstream(s) >>
Time of Update: 2017-01-19
問題開燈問題 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),依此類推。一共有k個人,問最後有哪些燈開著?輸入:n和k,輸出開著的燈編號。k≤n≤1000複製代碼 代碼如下:#include <stdio.h> #include <math.h> int main() { int a[1001],n,k,i,
Time of Update: 2017-01-19
上篇部落格寫了一下如何通過網路時間更新系統時間,當時寫的時候怎麼測試都不成功,後來想想是不是我作業系統(當時是在win8上開發的)的問題。當時我猜應該是許可權不夠,導致無法修改系統時間,於是我以管理員身份運行了一次,結果測試成功!原來真的是許可權的問題,於是就在程式裡面加入了預設以管理員身份啟動並執行代碼。下面讓我們看看是怎麼實現的吧! 程式預設以管理員身份運行 複製代碼 代碼如下: static void Main(string[] Args) { /** *
Time of Update: 2017-01-19
模式雖然精妙,卻難完美,比如觀察者模式中觀察者生命週期的問題;比如訪問者模式中循環相依性的問題等等;其它很多模式也存在這樣那樣的一些不足之處,如使用情境受限、實現複雜、不夠簡潔、不夠通用等。但我覺得不足之處大都是可以採取一些手法去彌補去改進的,比如用c++11的新特性來改進。因此,便有了c++11改進我們的模式這個系列。這次我要講的是如何使用c++11改進命令模式。關於命令模式 命令模式的作用是將請求封裝為一個對象,將請求的發起者和執行者解耦,支援對請求排隊以及撤銷和重做。它的類圖如下:
Time of Update: 2017-01-19
前言 找工作的時候,曾經用C語言練習過一段時間的演算法題目,也在幾個還算出名的OJ平台有過還算靠譜的排名。之前以為C語言只限於練習一下演算法,但是工作中的一個問題解決讓我意識到C語言的用處還是非常廣泛的。下面介紹一下,如果用C語言來操作檔案儲存一個字串,和讀取一個字串。演算法中往往都是printf來列印出結果,但是真實工作中往往通過檔案來進行一些持久化的儲存工作。C-File I/O
Time of Update: 2017-01-19
具體來說:能像 int 類型那樣定義變數,並且支援賦值、複製。 能用作函數的參數類型及傳回型別。 能用作標準庫容器的元素類型,即 vector/list/deque 的 value_type。(用作 std::map 的 key_type 是更進一步的要求,本文從略)。 換言之,你的 String 能讓以下代碼編譯運行通過,並且沒有記憶體方面的錯誤。複製代碼 代碼如下:void foo(String x) { } void bar(const String&
Time of Update: 2017-01-19
複製代碼 代碼如下:/*** @brief C語言實現的順序結構類型的棧* @author wid* @date 2013-10-29** @note 若代碼存在 bug 或程式缺陷, 請留言反饋, 謝謝!*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define TRUE 1#define FALSE 0typedef struct Point2D{
Time of Update: 2017-01-19
1. const變數聲明中帶有關鍵詞const,意味著不能通過賦值,增量或減量來修改該變數的值,這是顯而易見的一點。指標使用const則要稍微複雜點,因為不得不把讓指標本身成為const和指標指向的值成為const區別開來、下面的聲明表示pf指向的值必須是不變的constfloat *pf;而pf則是可變的,它可以指向另外一個const或非const值;相反,下面的聲明說明pf是不能改變的,而pf所指向的值則是可以改變的:float* const
Time of Update: 2017-01-19
為什麼要有介面?介面就是一個程式與其它程式交流的視窗。就比如有一個電視機,我並不需要知道它是怎樣工作的,我只要知道按電源鍵就可以開啟電視,按節目加(+)減(-)可以切換電視頻道就可以了。Java程式員都知道Java中有interface可以實現對外的介面,但C++並沒有介面這樣的文法,那它要好怎樣實現對外提供介面呢?我們可以通過純虛函數定義一個抽象類別,專門用來聲明一個類的功能。我們完成了一個程式模組的開發,要把這個程式模組給別人用,你肯定不會把原始碼給他(那別人就完全撐屋你的技術了),你會把這
Time of Update: 2017-01-19
傳回值的作用 main函數的傳回值用於說明程式的退出狀態。如果返回0,則代表程式正常退出;返回其它數位含義則由系統決定。通常,返回非零代表程式異常退出。下面我們在winxp環境下做一個小實驗。首先編譯下面的程式:int main( void ){ return
Time of Update: 2017-01-19
單鏈表是一種鏈式存取的資料結構,用一組地址任意的儲存單元存放線性表中的資料元素。要實現對單鏈表中節點的插入、刪除與尋找的功能,就要先進行的單鏈表的初始化、建立和遍曆,進而實現各功能,以下是對單鏈表節點的插入、刪除、尋找功能的具體實現:#include<stdio.h>#include<stdlib.h>#include<string.h>typedef int ElemType;/***鏈表通用類型*ElemType 代表自訂的資料類型 *struct
Time of Update: 2017-01-19
本文執行個體講述了C++實現Linux下彈出隨身碟的方法。分享給大家供大家參考。具體如下:在linux下,對於usb裝置,我們一般都是mount上使用,不使用時umount掉就可以了。在ubuntu10.04中,當我們插入u盤時,會出現u盤裝置,當我點擊這個裝置就可以mount上u盤,並讀取裡面的檔案,當我們不使用時,我們再次點擊這個裝置就可以彈出這個裝置,如果想再次使用隨身碟,那麼就得必須再次插拔u盤才可以。umount和彈出u盤是不同的,umount後我們還可以再次mount上使用,我們的u