Time of Update: 2018-12-03
1.開啟“我的電腦”-“工具”-“檔案夾選項”-“查看”-在“顯示所有檔案和檔案夾”選項前打勾-“確定” 2.刪除以下檔案夾中的內容: x:Documents and Settings使用者名稱Cookies下的所有檔案(保留index檔案) x:Documents and Settings使用者名稱Local SettingsTemp下的所有文件(使用者臨時檔案) x:Documents and Settings使用者名稱LocalSettingsTemporaryInterne
Time of Update: 2018-12-03
Probably everyone reading this has heard “functional programming” put forth as something that is supposed to bring benefits to software development, or even heard it touted as a silver bullet. However, a trip to Wikipedia for some more information
Time of Update: 2018-12-03
常常羨慕javascript中,用$('#ab'),即可找到某個變數或控制項,然後賦值或取值。而c#這種靜態語言就不好辦了,但其有反射,可以達到目的。 反射要先:1、引用using System.Reflection; 2、定義一個類。舉例如下: public class ids { public string id1="a", id2="a", id3="a"; }然後:ids idd = new ids();Type t = typeof(ids);
Time of Update: 2018-12-03
網上有 md5.c , md5.h, 但是裡面只有 MD5Init(), MD5Update(), MD5Final() 三個函數, 只可以直接對字元進行操作, 而沒有直接求檔案md5的介面. 以下是我的實現, 可計算32位和16位的md5值./***************************************************************************** * Copyright : All Rights Reserved. * *
Time of Update: 2018-12-03
不知道何時起, 非常刻意避免在 for 迴圈體內改變變數值. 似乎是受別人觀點影響, 但卻並不知曉原因. 可是有時候用其他方法替代卻不方便, 自己試了一下, 或許找到了一絲差異. 用這種方法賦值時, 沒有出現問題:#include <stdio.h>int main(){int i;for(i=0; i<10; i++){i = i+2;printf("%d/n", i);}return 0;} 但是另外一種賦值方法, 卻是不行的.#include
Time of Update: 2018-12-03
/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-01-11 17:02:10 * Author/Corporation : Dengzhaoqun * Email : dengzhaoqun@163.
Time of Update: 2018-12-03
#include <stdio.h>int main(){ int pos = 2; int neg = -2; int mid = 0; if(pos) printf("pos./n"); if(neg) printf("neg./n"); if(mid) printf("mid./n");
Time of Update: 2018-12-03
先看下面一個例子a.c :int main(int argc, char *argv[]){fprintf(stdout, "normal\n");fprintf(stderr, "bad\n");return 0;}$ ./anormalbad$ ./a > tmp 2>&1$ cat tmpbadtmp我們看到, 重新導向到一個檔案後, bad 到了 normal 的前面.原因如下:"The stream stderr is unbuffered. The stream
Time of Update: 2018-12-03
含有if的宏定義當宏定義中含有 if 時1) 定義如下宏#define DC(p) if( foo(p) )fun(p)用在下面的環境中if(k>n)DC(k);elseDC(n);宏替換後,如下if(k>n)if( foo(k) )fun(k);elseif( foo(n) )fun( n );可見, 原來的 if 和 else 不再配對.2) 為了避免這類問題, 我們可以將包含if語句的宏定義為一個整體.#define DC(p) {if( foo(p) )
Time of Update: 2018-12-03
很多時候,使用一些特別的庫, 在編譯可執行程式時, 需要添加額外的 CFLAGS 和 LIBS . 否則會提示找不到指定的標頭檔或者"undefined reference to ..." 的錯誤資訊.假如程式 test.c 中使用了 libxml 的 api, 直接$ gcc -Wall -o test test.c會提示錯誤訊息. 執行$ ls /usr/lib/pkgconfig/ | grep libxmllibxml-2.0.pc$ cat
Time of Update: 2018-12-03
今天用 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(file,
Time of Update: 2018-12-03
經常需要擷取原生ip地址, 通常的 gethostname和gethostbyname 經常只返回 "127.0.0.1", 這裡提供一個返回 "ip1, ip2, ..." 格式的介面.#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <sys/types.h&
Time of Update: 2018-12-03
個人實現例子: #include <stdio.h>#include <string.h>#define M 4int add(int a, int b);int sub(int a, int b);int mul(int a, int b);int div(int a, int b);int (*oper_func[])(int, int) = {add, sub, mul, div};char oper_sequence[M][10] = {"add", "sub",
Time of Update: 2018-12-03
寫代碼時, 經常需要根據參數值得到一特定的字串. 每次都調用vsprintf, malloc很煩. 以下是一個實現了此功能的介面./***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2012-09-05 23:48:48 *
Time of Update: 2018-12-03
發現讀取設定檔, 還是用得比較多的. 網上搜了下, 有不少的代碼範例了.不過一般實現的函數需要傳遞的參數都有設定檔的路徑.個人認為在某些情況下參數傳入 流 重用性更大一點.本想基於流的參數將 讀取, 添加, 刪除, 修改 設定檔的函數全部實現. 但發現刪除 , 修改 需要重新開啟流, 單純傳入一個流參數不能方便實現.以下是讀取, 添加 配置的函數實現."oper_config.h"/* * author: dengzhaoqun * date : 2011/07/23 */#ifndef
Time of Update: 2018-12-03
代碼很簡單,直接貼了。#include <stdio.h>//author: dengzhaoqun//date: 2012/03/05static FILE *out = NULL;static int tabs = 0;void set_out_fp(FILE *fp){out = fp;}void put(char *str){fprintf(out, "%s", str);}void put_head(char
Time of Update: 2018-12-03
如以下代碼所示:/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-03-14 15:11:48 * Author/Corporation : Dengzhaoqun * Email :
Time of Update: 2018-12-03
PyImport_ImportModule 失敗可能的原因:沒有形成module。解決方案:按python規定,建立一個 module_name 的檔案夾, 裡面有一個 __init__.py 和 module_name.py 檔案PyObject_GetAttrString(pModule,"pFunc") 失敗的可能原因:pModule.py 檔案本身有錯誤解決方案:單獨運行pModule.py, 改正錯誤在VC環境中, 此時又需要將 module_name
Time of Update: 2018-12-03
C class is one derived from class CBase.The CBase class has the following main characteristics: * Data members are always zeroed upon construction if an object is created on the heap because operator new() is overloaded. * CBase has a virtual
Time of Update: 2018-12-03
剛接觸VC編程的朋友往往對許多資料類型的轉換感到迷惑不解,本文將介紹一些常用資料類型的使用。我們先定義一些常見類型變數藉以說明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t