作者RiverJackson (JACK)
看板LinuxDev
標題[問題]請問開檔問題 關於dev
時間Sat May 3 12:21:56 2008
請問一下
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char buf[100];
FILE *fp=fopen("qq.txt", "a");
fseek(fp, 50, SEEK_SET);
這裡的seek_set是指 檔案開頭呢 還是檔案最後 因為用'a' mode open file
memset(buf, '1', 100);
fwrite(buf, 1, 5, fp);
fclose(fp);
return 0;
}
這裡如果qq.txt已經存在的話 fseek裡面的50好像不管設多少
fp都是指到qq.txt內容的最後面 假如qq.txt 內容是 ttttt好了
程式碼執行後就會變 ttttt11111 所以那個50的指定是沒用的???
目的是想說 假設qq.txt改為mtdblock/1 如果執行此程式 是不是就會
直接把1寫到mtdblock/2 而且是從mtdblock/2的開頭開始寫 部會從第50開始寫?
還是我觀念有錯誤
這樣講好了 我的目的就是 :
假設mtdblock/1 範圍是從1到1000好了, 我想在此範圍裏面的500到600
全部設為0xff的話 該怎麼做呢?? 然後又不會影響其他範圍內容??
Thanks~ ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.170.253
推 Neo1978:要操作 mtd block device 直接用 open/read/write/close 05/05 22:47
→ Neo1978:就可以了... 05/05 22:48
推 frankou:會從後面開始寫會不會是因為用"a"開啟? 05/06 10:48