伊莉討論區
標題:
關於寫檔的問題
[打印本頁]
作者:
stephenwei_lu
時間:
2019-1-4 12:01 PM
標題:
關於寫檔的問題
Dear All,
我嘗試用fopen 的讀寫去做copy檔案的測試, 在測試 txt 的時候是可以的
但是一換到 word檔(.docx)的時候檔案就會拷貝不完全
請問這是什麼原因?
作者:
stephenwei_lu
時間:
2019-1-4 12:34 PM
google 了其他, 好像不能這麼寫
作者:
baepi
時間:
2019-1-4 06:01 PM
我剛剛測試了一下....可以呀....
方便交流您的程式碼嗎?
或是您的檔案方便提供嗎?
以下是我隨意寫的....下班前隨意寫的...湊合能讓您比較比較
#include <stdio.h>
void main()
{
FILE *r_File , *w_File;
char buffer[1024];
r_File = f open("a.docx", "rb");
w_File = f open("b.docx", "wb");
if (NULL == r_File)
{
p rintf("read error");
return ;
}
else if (NULL == w_File)
{
p rintf("create error");
return ;
}
else
{
fseek(r_File, 0, SEEK_END);
int size = ftell(r_File);
fseek(r_File, 0, SEEK_SET);
p rintf("size = %d", size);
while (size > 0)
{
if (size > 1024)
{
f read(buffer, 1024, 1, r_File);
fwrite(buffer, 1, 1024, w_File);
size -= 1024;
}
else
{
f read(buffer, size, 1, r_File);
fwrite(buffer, 1, size, w_File);
size = 0;
}
}
}
f close(r_File);
f close(w_File);
}
複製代碼
補充內容 (2019-1-4 06:02 PM):
補充一點...有些字被切開...是因為網站判定敏感字
作者:
z1090128
時間:
2019-1-5 01:45 PM
有需要交入其他標頭檔嗎?還是因為word檔的格式比較特殊不能用這直接的方法
作者:
ash1326
時間:
2019-1-5 04:06 PM
word 有他自己的格式
如果你想要寫一個複製word的程式
嘗試使用 rb 和 wb 來進行
作者:
ash1326
時間:
2019-1-5 04:18 PM
算是很簡單的小程式,直接寫給你參考吧
存成副檔名 .c 就好了,所有格式都能複製
[attach]126092933[/attach]
補充內容 (2019-1-5 04:23 PM):
寫太快忘了關檔了,派謝!! 自己在最後面加個 fclose 吧,隨手養成好習慣~
作者:
snowflying
時間:
2019-1-5 05:32 PM
本帖最後由 snowflying 於 2019-1-5 05:34 PM 編輯
baepi 發表於 2019-1-4 06:01 PM
我剛剛測試了一下....可以呀....
方便交流您的程式碼嗎?
或是您的檔案方便提供嗎?
我的意思是像這樣
#include <stdio.h>
#define fopen_ fopen
#define printf_ printf
int main()
{
FILE *r_File , *w_File;
int size;
char buffer[1024];
r_File = fopen_("a.docx", "rb");
w_File = fopen_("b.docx", "wb");
if (NULL == r_File)
{
printf_("read error");
return 1;
}
else if (NULL == w_File)
{
printf_("create error");
return 1;
}
else
{
while((size = fread(buffer, 1, 1024, r_File)) > 0)
fwrite(buffer, 1, size, w_File);
fclose(r_File);
fclose(w_File);
return 0;
}
}
複製代碼
作者:
stephenwei_lu
時間:
2019-1-8 01:59 PM
本帖最後由 stephenwei_lu 於 2019-1-8 02:15 PM 編輯
這種方式確實可以, 不過,我不是用這種方式丟檔的
我是用像是pipe的方式丟的
作者:
stephenwei_lu
時間:
2019-1-13 11:02 PM
來吧, 試試看吧, docx
stackoverflow.com/questions/15957195/how-to-send-a-file-through-a-named-pipe-in-c
歡迎光臨 伊莉討論區 (http://a04.eyny.com/)
Powered by Discuz!