原创 linux文件操作

linux都是以文件爲單位對數據進行管理的,每一個打開的文件在內存中都有一個結構體與之相對應,這個結構體保存文件信息:文件名、大小、位置、權限等等typedef struct {成員列表} FILE;文件的操作:<1>打開FILE* fop

原创 我的友情鏈接

51CTO博客開發

原创 Mutable&const&volatile&extern&Static

1、Mutable使用mutable關鍵字後,即使上下文環境在const函數中,或者當前爲const對象,也可以修改被修飾的值Mutable int counter;2、const&volatile:被const修飾的值不能被當前程序上下文

原创 可變參數

#include <stdarg.h>int max(int cnt,...){    //定義可邊長參數列表    va_list v;    //使用v保存參數cnt之後的那些參數    va_start(v,cnt);        

原创 IO流總結

C++的I/O流體系    繼承關係:    ios <-- istream/ostream    |--> istream <-- istrstream/ifstream/iostream    |--> ostream <-- ostr

原创 命名空間

1.內存名字隱藏外層名字2.嵌套名字空間逐層分解3.名字空間別名定義方法:namespace ns = 名字空間;    如:    namespace ns1{        typedef int TYPE;        namesp

原创 c++異常處理

<1>c++異常匹配規格是根據對象的靜態類型進行匹配的<2>typedef void (*f)() throw(int) typedef 語句中不能有異常規格說明<3>throw;向上級拋異常throw x;拋出異常1.使用異常說明:  

原创 轉義字符

\a:響鈴\b:回退一格\f:換頁 \n:換行,光標到下行行首\r:回車,光標到本行行首 \t:水平製表 \v:垂直製表 \\:反斜槓\':單引號\":雙引號 \?:問號\ddd:三位八進制 \xhh:二位十六進制  \0:空字符(NULL

原创 考考自己   遞歸應該怎麼看?

void han(int num,char a,char b,char c){    if(num<=0)return ;    // step 1    han(num-1,a,c,b);//將除最下面一個的所有通過c轉到b    //

原创 IO流總結

C++的I/O流體系    繼承關係:    ios <-- istream/ostream    |--> istream <-- istrstream/ifstream/iostream    |--> ostream <-- ostr

原创 二進制轉爲字符串 的泛型處理

template<class T> string bin2str(T bin){string str;T mask = 1;//注意這個表示二進制最後一位爲1,即不同類型的賦值1for(int i = 0; i < sizeof(mask)

原创 string字符串:#include <string>

typedef basic_string<char> string;1.string str("xxx");//在棧中隱士實例化string對象2.string str = "xxx";3.string str = string("xxx"

原创 c++ 新特性 右值引用

<1>普通左右值引用int a = 0;int&ref1 = a; //左值引用int&&ref2 = a; //右值引用<2>右值和左值引用基本沒什麼區別,差別是右值引用可以綁定到一個臨時對象(右值)上,如:int&x = int();/

原创 linux文件操作

linux都是以文件爲單位對數據進行管理的,每一個打開的文件在內存中都有一個結構體與之相對應,這個結構體保存文件信息:文件名、大小、位置、權限等等typedef struct {成員列表} FILE;文件的操作:<1>打開FILE* fop

原创 errno和%m

#include<stdio.h>//#include<string.h>//#include<errno.h>int main(){    FILE* file = fopen("/etc/passwd","w");    if(file