Time of Update: 2018-12-04
app.csusing System;using System.IO;namespace com.todayisp.bakup{ /// <summary> /// app 的摘要說明。 /// </summary> public class app { //列舉某個盤下面的所有目錄,不包括檔案。 //目錄路徑pathstr,如e:/ //返回以目錄組成的數組。 public string[] Directorys(string pathstr) { if(
Time of Update: 2018-12-04
c程式如何啟動:當核心執行C程式時(使用exec函數),在調用main函數之前調用一個特殊的啟動常式。可執行檔將此啟動常式指定為程式的起始地址---這是由串連編輯器設定的,而串連編輯器由c的編譯器調用。同時,啟動常式從核心取得命令列參數和環境變數。進程的終止總共有8種方式使進程終止,其中前5種正常,後3種不正常。從main返回。在這種方式中,main函數返回後立即調用exit函數。調用exit函數。
Time of Update: 2018-12-04
策略模式(Strategy):它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。上面是《大話設計模式》中給出的定義,感覺這個概念給的不好,看了之後不能完全清晰明白該模式(可能自己水平太水的原因吧)。在《effective c++》中指出,策略模式是virtual
Time of Update: 2018-12-04
我們使用tcp上傳圖片,設計思路是:服務端一直開著,用戶端上傳圖片,需要給服務端一個圖片的路徑,在服務端使用用戶端的檔案名稱在儲存。如果重名,我們就加一個序號。因為圖片上傳我們使用的是位元組流,所有我們先用一個長度為100的位元組數組開儲存檔案名稱。然後服務端使用前面一百個資料開擷取檔案名稱下面貼出源碼:用戶端:package com.hsj.net.upload;import java.io.BufferedInputStream;import java.io.File;import
Time of Update: 2018-12-04
最近做了個題目,遇到了要將字串前後空格消除的細節問題。在Java中好像有一個字串函數為trim()可以消除字串後的空格。對於c++,查了一下,可以引用一個c++標準庫Boost,可以輕鬆解決,但要下載,設定環境變數,因而沒去弄。當然還可以用Regex進行匹配,但似乎都大材小用。不如就用substr()函數,而且string有find_last_not_of,find_first_not_of等等屬性,已經夠我們解決問題了。#include <iostream> #include &
Time of Update: 2018-12-04
看了兩篇不錯的部落格,粘在下面,做個記錄由一道面試題說起面試題:為什麼標準標頭檔都有類似以下的結構?#ifndef __INCvxWorksh#define __INCvxWorksh#ifdef __cplusplusextern "C" {#endif/*...*/#ifdef __cplusplus}#endif#endif /* __INCvxWorksh */分析:1 顯然,標頭檔中的編譯宏“#ifndef __INCvxWorksh、#define
Time of Update: 2018-12-04
C/C++中Static的作用詳述一.在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。(1)先來介紹它的第一條也是最重要的一條:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是main.c。下面是a.c的內容char a = 'A'; // global variablevoid
Time of Update: 2018-12-04
在一個函數體內定義的類稱為局部類。局部類中只能使用它的外圍範圍中的對象和函數進行聯絡,因為外圍範圍中的變數與該局部類的對象無關在定義局部類時需要注意:局部類中不能說明靜態成員函數,並且所有成員函數都必須定義在類體內。在實踐中,局部類是很少使用的。下面是一個局部類的例子int a;void fun(){static int s;class A{public: void init(int i) { s = i; }};A m;m.init(10);}
Time of Update: 2018-12-04
Time of Update: 2018-12-04
轉自:http://blog.csdn.net/qiumingbo/archive/2007/05/25/1625324.aspx MessageBox用法訊息框是個很常用的控制項,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。1.MessageBox("這是一個最簡單的訊息框!");2.MessageBox("這是一個有標題的訊息框!","標題"); 3.MessageBox("這是一個確定 取消的訊息框!","標題", MB_OKCANCEL );
Time of Update: 2018-12-04
自: http://www.cnscn.org 1)預先處理 根據已放置在檔案中的預先處理指令來修改源檔案的內容 前置處理器會分析/執行所有的前置處理器指令,然後刪除他們,得到一個僅包含C++語句的轉換單元 預先處理指令以#號開頭 常用的預先處理指令: #include 包含標頭檔 #if 條件 #else 否則 #elif
Time of Update: 2018-12-04
[f@pc-lzs MyTest]$ cat data.dat 000000012, 3 000000023, 1 000000123, 1 000000124, 5 [f@pc-lzs MyTest]$ ./test [f@pc-lzs MyTest]$ cat data.dat 000000001, 5 000000012, 3 000000023, 6 000000080, 10 000000123, 1 000000124, 5 000000
Time of Update: 2018-12-04
總結失效,不去寫代碼才是真正的悲哀,幾本書吧,一本 C入門 一、基礎書籍 C和指標、C陷阱與缺陷、C專家編程 看了以後還是不會編程的,哈哈!二、c標準庫、std90_C標準庫三、大量的開原始碼的閱讀與編寫,真正美麗的C代碼,網上的開源與C標準庫四、投入到Linux中吧,C的起源就和Unix息息相關,linux kernel 與驅動,協議棧。。。。。抽象能力是編程中最為重要的核心,但是程式的總體規劃才是王者,人生也是這樣好好規劃吧,雖然人生是未知的,只要你是聰明的人,就沒有什麼困難,
Time of Update: 2018-12-04
C語言中,NULL值到底是什麼?代表著什麼意思?詳細具體的可以去度娘一下,這裡只發表一下自己對NULL值的理解。 簡單的說,NULL值就是代表著“不可訪問”。 看下面的例子:#include <stdlib.h>#include <stdio.h>#include <string.h>int main(int argc,char *argv[]){char *s;s = (char*)malloc(10*sizeof(char));if(s == NULL){
Time of Update: 2018-12-04
一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鏈表。 3、全域區(靜態區)(static)—,全域變數和靜態變數的儲存是放在一塊的,初始化的全域變數和靜態變數在一塊地區,
Time of Update: 2018-12-04
1、下面的程式並不見得會輸出 hello-std-out,你知道為什麼嗎?#include <stdio.h>#include <unistd.h>int main(){while(1){fprintf(stdout,"hello-std-out");fprintf(stderr,"hello-std-err");sleep(1);}return
Time of Update: 2018-12-04
偶然在ChinaUnix上看到一篇關於程式調試的文章,裡面討論到了很多偵錯工具的方法,其中一個方法如下,覺得還不錯: 如果別人的程式裡malloc很多,不知道哪裡有記憶體越界, 那就把malloc, free重新定義掉,放在一個標頭檔裡,如mem.h 用gcc -include mem.h的方式重新編譯代碼,可以不修改別人的代碼來檢查記憶體問題。 (類似的,還要重定義strdup, realloc等函數)代碼如下:#define MAGIC_NUM 0x11121314 /
Time of Update: 2018-12-04
任何事物都不是憑空產生的,也不是一步就最佳化到位的! C語言也不例外,從一些C語言應用上面來看,有下面幾個原則: 1.空間佔用越小越好 C語言函數的傳參方式是拷貝一份參數,供程式主體使用; 因此,傳遞結構體就不如傳遞結構體指標;包括對聯合的設計,也是出於儘可能小的佔用空間; 還有就是記憶體對齊以及位域. 舉個例子,看看位域的情況:strcut CHAR { unsigned ch : 7; unsigned font : 6; unsigned size : 19
Time of Update: 2018-12-04
文章目錄 快速排序演算法
Time of Update: 2018-12-04
對於一個C語言程式而言,記憶體空間主要由五個部分組成程式碼片段(.text)、資料區段(.data)、BSS段(.bss),堆和棧組成,其中程式碼片段,資料區段和BSS段是編譯的時候由編譯器分配的,而堆和棧是程式啟動並執行時候由系統分配的。布局如下 在中,由編譯器分配的地址空間都是在串連的時候分配的,而運行時分配的空間是在程式運行時由系統分配的 BSS段:BSS段(bss segment)通常是指用來存放程式中未初始化的全域變數和靜態變數