C/C++檔案輸入輸出操作——FILE*、fstream、windowsAPI(全)

基於C的檔案操作 在ANSI C中,對檔案的操作分為兩種方式,即流式檔案操作和I/O檔案操作,下面就分別介紹之。一、流式檔案操作這種方式的檔案操作有一個重要的結構FILE,FILE在標頭檔stdio.h中定義如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status flags */char fd; /* File descriptor */unsigned char

C++ 編寫DLL的一些感悟

1.匯出類的DLL:一般建立的工程選擇MFC拓展DLL,並在要匯出的類的聲明之間加上AFX_EXT_CLASS,比如說CObjectMgr類,則應該聲明為 class AFX_EXT_CLASS CObjectMgr{};即可。引用匯出類的DLL時,只能用隱式引用的方式,把.h包含進工程,並加上這兩句代碼#pragma comment(lib,".\\CMonitorDll.lib")#include "ObjectMgr.h"然後聲明一個匯出類的對象 CObjectMgr

C++ 學習 備忘記錄

1、聯合體union 是聯合體,聯合體中可以包含1個到多個結構體, 這些結構體中大小最長的結構體決定聯合體的長度,對於聯合體中的任何一個成員賦值,會導致其他的成員被重設(因為記憶體共用的關係。)比如:union{int a;float b;struct{char c;int d;} st;}對該聯合體中的 a 進行賦值,會導致 b 和st 的值進行重設,這是因為,a、b、st 是共用的記憶體空間。  對st 中的 c 進行賦值同樣會導致

C# 擷取當前程式路徑的方法總結

最近做一個log程式用到了擷取應用程式路徑的方法,順便整理了一下:1.獲得帶.exe的路徑string str1 = Process.GetCurrentProcess().MainModule.FileName; //可獲得當前執行的exe的檔案名稱。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\Test.vshost.exestring str1 =

C++繼承、虛函數、純虛函數、多態、覆蓋、重載、隱藏、引用等常用概念

常用概念有:繼承、虛函數、純虛函數、多態、覆蓋、重載、隱藏等1、繼承:        繼承比較好理解,主要注意繼承中建構函式的調用順序。構造子類(衍生類別)的時候,先要調用父類(基類)的建構函式。2、虛函數:        virtual關鍵字3、純虛函數        virtual void breath() = 0;       

C++ 學習 備忘記錄(二)

1、malloc、free 與 new 、delete的區別首先malloc、free 屬於C的一組庫函數,new delete 屬於C++的一組運算子。 功能都是開闢和釋放記憶體空間。 但是區別在於。new 和delete運算子 在開闢空間的時候會調用類的建構函式和解構函式。 而malloc free 則沒有這項功能。(C裡面也沒有類的概念)2、C++空類預設產生哪些類成員函數?編譯器自動產生4個函數,預設的 建構函式、解構函式、拷貝建構函式、賦值函數。3、C++中解構函式可以是內嵌函式 4、

C#讀寫txt檔案的方法

1. 讀取檔案(StreamReader)添加引用:using System.IO;StreamReader objReader = new StreamReader(檔案路徑); string sLine=""; ArrayList LineList = new ArrayList(); while (sLine != null) { sLine = objReader.ReadLine(); if (sLine !=

C#中Const與Static Readonly的區別

區別:const的值是在編譯期間確定的,因此只能在聲明時通過常量運算式指定其值,比如:public const π=3.1415926;public const DayHours=24;像這些恒定不變的量,我們最好是用Const來聲明。static readonly是在運行時計算出其值的,所以還可以通過靜態建構函式來賦值。比如:public static string m_CurrentMdbPath;public static string

C# 管道通訊-具名管道(一)

        最近在做一個應用程式,涉及到兩個應用程式之間的通訊,就想到了用C#的具名管道的方式來實現,經過一番小折騰,總算實現了,現把一些主體的代碼粘貼出來與大家分享:        管道通訊會涉及到client端和Server端,Client端的主要代碼:        需要引用命名空間:using System.IO.Pipes;Thread pipeThread = new Thread(new

C語言字元指標訪問

      因為一道面試的題目,所以抓來了譚浩強的《C語言程式設計》翻了下,其中譚老師在240頁10.22例中,字元指標指向的字元,可通過像字元數組,使用[]來訪問,即:   char * a = “I love china”;printf("The sixth charcter is %c\n",a[5]);    我便突發奇想,可否通過字元指標來改變其指向的內容,即VS2005的環境下,便會出 “0xC0000005: 寫入位置 0x00418bf0

c# 管道通訊-具名管道(二)

具名管道的串連總結:       具名管道的串連有兩次阻塞的地方,一是在WaitForConnection()時[用戶端進行串連同理]會阻塞,二是在ReadString()[讀取管道資訊]時。       在伺服器端第一次建立具名管道後等待串連,當用戶端串連成功後伺服器端的具名管道就用作通訊用途。如果需要再次等待串連,伺服器端就需要再次開啟具名管道(建立一個具名管道的執行個體)並等待串連。       

C++實現的委託機制(1)

C++實現的委託機制(1)1.引言下面的委託實現使用的MyGUI裡面的委託實現,MyGUI是一款強大的GUI庫,想理解更多的MyGUI資訊,猛擊這裡http://mygui.info/ 最終的代碼可以在這裡下載:http://download.csdn.net/detail/gouki04/3641328  我們的目標是要實現一個跟.NET幾乎完全一樣的委託,使用簡單,支援多播,可以添加刪除委託。同時支援C++的普通函數、模板函數、類成員函數,類的靜態成員函數,並且支援多態。使用方式如下://

Socket通訊(objetive-c)用戶端與(JAVA)服務端的特殊點

前段時間,在做objetive-c下的Sokcet通訊,當使用C++程式做服務端時,一切正常;當用JAVA做服務端時,雙方收不到資料,在查閱了一些資料後,整理一下注意點1 訊息末尾加斷行符號和分行符號     objetive-c發送資料時,要在末尾加上“\r\n”_dataToSend = [NSData dataWithBytes:"This is a test\n" length:15];    這是因為JAVA服務端使用類似於readline()的函數,讀取緩衝區中的內容2

C#中的Action和Func

其實他們兩個都是委託【代理】的簡寫形式。一、【action<>】指定那些只有輸入參數,沒有傳回值的委託Delegate的代碼:public delegate void myDelegate(string str);public static void HellowChinese(string strChinese){Console.WriteLine("Good morning," + strChinese);Console.ReadLine();}myDelegate d =

將C# lambda運算式轉換成運算式樹狀架構

 就像我們已經看到的, lambda運算式可以隱式或顯式的被轉換為適當的委託執行個體. 然而, 這並非唯一可用的轉換規則, 你也可以讓編譯器幫你從一個lambda運算式來構建運算式樹狀架構, 然後在執行時建立一個Expression<TDelegate>執行個體. 例如, 下面的例子使用了更簡短的方式建立”return 5″的運算式, 然後編譯並執行結果委託: 1: Expression<Func<int>> return5 = () => 5;

ip轉換為數值 數值轉換為ip c++

作為練習,自己編了一個: #include "stdafx.h"#include <iostream>#include <string>//#include <windows.h>using namespace std; int IPToValue(const string& strIP){//IP轉化為數值//沒有格式檢查//傳回值就是結果int a[4];string IP = strIP;string strTemp;size_t

設定字型高度 c++ vc MFC

【一】樣本一以下代碼是放在對話方塊類的OnInitDialog中,注意m_font是類成員函數,否則會因為局部變數失效的原因,而導致SetFont出現問題。 CFont* pfont = m_e2.GetFont();//CEdit m_e2;ASSERT(NULL != pfont);LOGFONT lf;int nret = pfont->GetLogFont(&lf);ASSERT(0 != nret);lf.lfHeight=-60; //設定高度

c++模板類特化時,其靜態成員變數的特化

使用vc9.0#include "stdafx.h" #include <iostream> using namespace std;template <typename T>class C{public:     C()    {    }    static T m;};template <typename T>T C<T>::m;//類C特化 template <>class C<int>{public:     C(

一個下雪的小程式 c++ vc6.0

一個小的win32程式。使用vc6.0。#include "stdafx.h" #include <windows.h>  #include <math.h>  #include <stdlib.h> #define ID_TIMER    1  #define SNOWNUM      500  // 雪花數量  #define CONTRAST    50    // 對比 

如何使c++類不能被繼承

參考文獻:http://www.research.att.com/~bs/bs_faq2.html#no-derivation http://dev.csdn.net/article/14/14193.shtm Can I stop people deriving from my class?Yes, but why do you want to? There are two common answers: for efficiency: to avoid my function calls

總頁數: 4314 1 .... 1340 1341 1342 1343 1344 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.