2007/10/09
2007/10/08
Wargame
http://wargame.cna.ccu.edu.tw/
http://hackerslab.cna.ccu.edu.tw/
http://hackerslab.org/
http://trythis0ne.com/
http://quiz.ngsec.com/game3/
http://www.smashthestack.org/
http://www.pulltheplug.org/wargames/
http://www.hackquest.de/
http://www.hackits.de/
http://www.hackergames.net/
http://www.hack4u.org/
http://www.hackthissite.org/
http://www.darksigns.com/
http://www.crackmes.de/
http://www.rootthisbox.org/
http://www.hackr.org/
http://www.mod-x.com/main.php
http://www.hack.ae/
http://www.hackerplayground.com/games.php
http://roothack.org/
http://www.try2hack.nl/
http://www.dareyourmind.com/
http://dualpage.muz.ro/webgame
http://hackerslab.cna.ccu.edu.tw/
http://hackerslab.org/
http://trythis0ne.com/
http://quiz.ngsec.com/game3/
http://www.smashthestack.org/
http://www.pulltheplug.org/wargames/
http://www.hackquest.de/
http://www.hackits.de/
http://www.hackergames.net/
http://www.hack4u.org/
http://www.hackthissite.org/
http://www.darksigns.com/
http://www.crackmes.de/
http://www.rootthisbox.org/
http://www.hackr.org/
http://www.mod-x.com/main.php
http://www.hack.ae/
http://www.hackerplayground.com/games.php
http://roothack.org/
http://www.try2hack.nl/
http://www.dareyourmind.com/
http://dualpage.muz.ro/webgame
2007/10/05
File Control in C
File Open
FILE *fp;
fp = fopen("FileName" , "Mode");
/* 失敗 return NULL */
Mode
w ... 只可寫入,覆寫
r ... 只可讀取
a ... 只可附加資料在此檔之後
b ... 只可讀取 binary 類型 file
r+ ... 可讀取與寫入
w+ ... 可讀取、覆寫
a+ ... 可讀取、附加資料在此檔之後
/* 以下成功 return 0 ,失敗 return EOF 即 -1 */
File Close
fclose(fp);
fgetc、fputc
File *fp2 = fopen("FileName2.txt","w");
int c;
while ( (c = fgetc(fp /* stdin */)) != EOF) /* 讀取一個字元並傳回 */
fputc(c, fp2 /* stdout */); /* 將字元 c 寫入檔案 */
fscanf、fprintf
fscanf(FILE *stream, const char *format, ...);
/* 用法同 scanf(),但讀取的資料改成來自 stream */
fprintf(FILE *stream, const char *format, ...);
/* 用法同 printf(),但寫入的資料改成寫到 stream */
ex:
fscanf(stdin,"%d",fp); /* 讀 stdin 寫 fp */
fprintf(fp,"%d",stdout); /* 讀 stdout 寫 fp */
/* 以下傳回所讀資料的筆數,若失敗傳回值為 0 */
fread、fwrite
char buf[128];
while ( (size = fread(buf, sizeof(char), sizeof(buf), fp_in) ))
fwrite(buf, sizeof(char), size , fp_out) ;
/* 從檔案 fp_in 讀取資料,一次讀取資料大小為 sizeof(char) 的物件
sizeof(buf) 個,並且將讀到的資料存放到 buf 這個暫存區,將 buf
所存的資料大小為 sizeof(char) 的物件 size 個,寫入檔案 fp_out */
fgets、fputs
char s[128]
fgets(s, n, fp);
/* 由 fp 讀入 n-1 個字元, 儲存到 s 的位址,正
確 return *s , 錯誤或檔案結束 return NULL */
fputs(s, fp);
/* fputs() 將字串輸出至 fp 成功 return
最後一個輸出的字元, 否則 return EOF */
FILE *fp;
fp = fopen("FileName" , "Mode");
/* 失敗 return NULL */
Mode
w ... 只可寫入,覆寫
r ... 只可讀取
a ... 只可附加資料在此檔之後
b ... 只可讀取 binary 類型 file
r+ ... 可讀取與寫入
w+ ... 可讀取、覆寫
a+ ... 可讀取、附加資料在此檔之後
/* 以下成功 return 0 ,失敗 return EOF 即 -1 */
File Close
fclose(fp);
fgetc、fputc
File *fp2 = fopen("FileName2.txt","w");
int c;
while ( (c = fgetc(fp /* stdin */)) != EOF) /* 讀取一個字元並傳回 */
fputc(c, fp2 /* stdout */); /* 將字元 c 寫入檔案 */
fscanf、fprintf
fscanf(FILE *stream, const char *format, ...);
/* 用法同 scanf(),但讀取的資料改成來自 stream */
fprintf(FILE *stream, const char *format, ...);
/* 用法同 printf(),但寫入的資料改成寫到 stream */
ex:
fscanf(stdin,"%d",fp); /* 讀 stdin 寫 fp */
fprintf(fp,"%d",stdout); /* 讀 stdout 寫 fp */
/* 以下傳回所讀資料的筆數,若失敗傳回值為 0 */
fread、fwrite
char buf[128];
while ( (size = fread(buf, sizeof(char), sizeof(buf), fp_in) ))
fwrite(buf, sizeof(char), size , fp_out) ;
/* 從檔案 fp_in 讀取資料,一次讀取資料大小為 sizeof(char) 的物件
sizeof(buf) 個,並且將讀到的資料存放到 buf 這個暫存區,將 buf
所存的資料大小為 sizeof(char) 的物件 size 個,寫入檔案 fp_out */
fgets、fputs
char s[128]
fgets(s, n, fp);
/* 由 fp 讀入 n-1 個字元, 儲存到 s 的位址,正
確 return *s , 錯誤或檔案結束 return NULL */
fputs(s, fp);
/* fputs() 將字串輸出至 fp 成功 return
最後一個輸出的字元, 否則 return EOF */
Subscribe to:
Posts (Atom)