Social Icons

twitterfacebookgoogle plusrss feedemail

5/15/2013

資料結構 Tree 建置 與 印出

沒有留言:
有很多人不知道怎麼用C建立一顆簡單的樹...這邊PO上一個小範例
請注意這很久之前做的,程式上我有稍微修改~很多地方會有BUG (疑,主要是為了不讓同學直接抄答案...)

請將下面的程式碼做修改,達到以下目的
0.找出BUG
1.做交集聯集。
2.將樹改成 Complete. Binary Tree 完整(完美)二元樹
3.增加刪除節點

點圖可放大

5/14/2013

檔案傳送與效能分析(1)-實驗過程與結果

沒有留言:



建議切換全螢幕高畫質欣賞~!

本程式在實際網路可以正常執行,為了錄影方便所以才在同一台機器上做測試

看影片可能覺得很簡單...,平常的檔案傳輸都是在穩定的網路下做傳輸,而本程式在不穩定的網路下可以做到大檔傳送、斷線續傳、多工、timeout、pipe、reconnect...等功能...,雖然只是單純的傳送檔案...但寫起來要考慮的東西還真不少....。
影片內容忘記錄多工的部分.... ( 0 . 0)

實驗結果如下,之後有空再對步驟以及程式碼做解釋
(以下圖片點及都可以放大)
62byteTXT文字檔
49.9kb小圖檔(jpg)
1.1Mb大圖檔(jpg)
1014.5Mb壓縮檔(zip)

實驗測試網路環境:
1.都在同一台機器中
2.兩台有線網路
3.一台有線網路 一台無線網路 (此為影片拍測的環境)
4.兩台無線網路



傳輸時百分比進度


傳送文字檔封包分析


C語言 如何知道檔案大小

沒有留言:

1.利用fseek(或lseek)
FILE* f = fopen(fileName, "r+");
fseek(f, 0, SEEK_END);
size = ftell(f);
fseek(f, 0, SEEK_SET);


2.用stat函式
struct stat st;
stat(fileName, &st);
size = st.st_size;


其中stat結構如下

struct stat {
    dev_t     st_dev;     /* ID of device containing file */
    ino_t     st_ino;     /* inode number */
    mode_t    st_mode;    /* protection */
    nlink_t   st_nlink;   /* number of hard links */
    uid_t     st_uid;     /* user ID of owner */
    gid_t     st_gid;     /* group ID of owner */
    dev_t     st_rdev;    /* device ID (if special file) */
    off_t     st_size;    /* total size, in bytes */
    blksize_t st_blksize; /* blocksize for file system I/O */
    blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
    time_t    st_atime;   /* time of last access */
    time_t    st_mtime;   /* time of last modification */
    time_t    st_ctime;   /* time of last status change */
};

5/05/2013

解決 linux 沒有 itoa 問題解法

沒有留言:

因為在ANSI-C 與一些compiler中並沒有支援
所以在linux裡沒有itoa(int , char[] ,int) 這個函數
不過可用sprintf(str , "%d" ,i) 代替

itoa( 456 , str , 10)
sprintf(str, "%d" ,456)

4/28/2013

arduino 藍芽小車 +GPS

沒有留言:
暨這篇文章之後FCUCE 無線通訊避障小車,學弟把之前做的GPS給加上小車當中,這麼一來小車跑到哪邊都會回傳GPS位址回來,這麼一來就可以將小車在地圖上作定位了。