伊莉討論區
標題:
關於C的寫入TXT擋
[打印本頁]
作者:
[111}
時間:
2009-4-7 01:48 AM
標題:
關於C的寫入TXT擋
第一次來這裡發問~
請教各位大大
為何小弟欲將陣列用C存成TXT擋
但出來的總是亂碼呢?
附上原始碼:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <sys/stat.h>
#define SIZE 10
int main(void)
{
int arr[SIZE]={10,14,17,21,24,28,35,47,52,63};
int f1;
f1=creat("C:\\rand.txt",S_IREAD|S_IWRITE);
if(f1!=-1)
{
write(f1,arr,64);
close(f1);
printf("檔案製造完成!\n");
}
else
{
printf("檔案製造失敗!\n");
}
system("pause");
return 0;
}
作者:
include
時間:
2009-4-7 02:02 AM
因為write這個函數他寫出去的東西是bytes而不是字元
也就是說你其實寫了
00001010 00001110 00010001 00010101 00011000 00011100 00100011 00101111
00110100 00111111
這些東西進檔案
但是用文書編輯軟體開的時候他會把它當成字元來讀
所以你看到的東西是亂碼
作者:
[111}
時間:
2009-4-7 12:42 PM
謝謝大大的回答~
那麼現在我應該要使用什麼辦法
才能讓他正確得寫入rand.txt中呢?
作者:
include
時間:
2009-4-7 01:39 PM
你可以用fprintf這個函數
搭配迴圈把數字一個一個輸出到檔案裡
作者:
matchknight
時間:
2009-4-7 07:56 PM
我也正在想是不是用錯東西了
fprintf 跟 fscanf
我都是用這兩個來玩file i/o 的...
作者:
[111}
時間:
2009-4-7 10:32 PM
恩恩~
成功了!!!
謝謝大大指導~!
作者:
koless
時間:
2009-4-9 12:38 AM
提示:
作者被禁止或刪除 內容自動屏蔽
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!