看板 C_and_CPP 關於我們 聯絡資訊
我想利用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
littleshan:FILE* 不是這樣用的,你的需求要用 mmap 07/03 17:58
zlw:memcpy沒這麼做這麼複雜的事,他單純只會到fp所在位址,取4個 07/03 18:18
zlw:Bytes認定為目的地所在的記憶體位址,然後把資料複製到該處。 07/03 18:18
zlw:......沒辦法做這麼複雜的事... 07/03 18:19
weiyucsie:樓上 他寫的是VIDEO_SIZE吧? 07/03 18:31
weiyucsie:(其實是我沒看到VIDEO_SIZE的定義XD) 07/03 18:34
Ebergies:z 是指... memcpy 對第一個參數做的事 07/03 18:35
zlw:抱歉沒講清楚,我是指 mov ecx,dword ptr [fp] 這件事 07/03 18:41
zlw:再把 ecx 存的值 push 到堆疊,然 memcpy 函數會去堆疊取參數 07/03 18:41
weiyucsie:sorry囉 以為那個4bytes是在講sizeof(fp)之類的 07/03 18:50
ledia:我想你需要的是 fwrite 07/03 22:26