作者vtr198172 (43米的深海)
看板C_and_CPP
標題[問題] memcpy 的問題?
時間Fri Jul 3 17:55:49 2009
我想利用V4L2的範例程式去擷取webcam的影像檔,但在擷取到一整個影像的buffer時,
可以利用memcpy這函式把buffer寫入到一個檔案裡嗎?
程式大概是像下面這樣子:
FILE* fp = fopen(file_name, "w");
memcpy(fp, p, VIDEO_SIZE);
fclose(fp);
因為我執行後會出現segment fault.. 謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.22.20.210
1F:→ littleshan:FILE* 不是這樣用的,你的需求要用 mmap 07/03 17:58
2F:推 zlw:memcpy沒這麼做這麼複雜的事,他單純只會到fp所在位址,取4個 07/03 18:18
3F:→ zlw:Bytes認定為目的地所在的記憶體位址,然後把資料複製到該處。 07/03 18:18
4F:→ zlw:......沒辦法做這麼複雜的事... 07/03 18:19
5F:→ weiyucsie:樓上 他寫的是VIDEO_SIZE吧? 07/03 18:31
6F:→ weiyucsie:(其實是我沒看到VIDEO_SIZE的定義XD) 07/03 18:34
7F:推 Ebergies:z 是指... memcpy 對第一個參數做的事 07/03 18:35
8F:推 zlw:抱歉沒講清楚,我是指 mov ecx,dword ptr [fp] 這件事 07/03 18:41
9F:→ zlw:再把 ecx 存的值 push 到堆疊,然 memcpy 函數會去堆疊取參數 07/03 18:41
10F:→ weiyucsie:sorry囉 以為那個4bytes是在講sizeof(fp)之類的 07/03 18:50
11F:→ ledia:我想你需要的是 fwrite 07/03 22:26