[問題] 讀取txt中binary 的問題

作者: xit365025 (0xA)   2014-05-06 00:12:03
新手第一次開始用fopen這些指令
也是網路上參考資料寫出來的code
我想要從txt檔中讀取好幾串binary 進來處理
例如:
00100001000010100000000010111110
10101101010100010000000000000100
10001101010100100000000000000100
00001000000000000000001001010110
我使用
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
int num;
fp = fopen("binary.txt","r");
fscanf(fp,"%d",&num);
printf("num= %d " ,num) ;
fclose(fp);
system("pause");
return 0;
}
但是為什麼我printf 出來的都是 num= 688670854 這樣的值呢
請問code哪邊需要修正
謝謝
作者: kattte (誠實面對自己吧!)   2014-05-06 00:28:00
請問你要怎麼把一個32bit的2進位值放進整數
作者: xit365025 (0xA)   2014-05-06 00:48:00
所以該改哪呢... 對不起新手爬很多文還是不會= =
作者: Litfal (Litfal)   2014-05-06 01:35:00
幫補充: C的int是根據編譯器與平台決定,有可能是16bit,然後原PO你預期是想印出什麼?順便一提C版好像在隔壁。
作者: v2266514 (阿龍)   2014-05-06 01:46:00
不知道你要怎麼處理,存成char陣列或char pointer都可。
作者: kattte (誠實面對自己吧!)   2014-05-06 02:37:00
就自己寫一個副程式 把讀進來的字串做運算然後傳回來阿
作者: tooto1985 ( )   2014-05-06 08:55:00
多個#差很多
作者: Kagami3421 (卡加米)   2014-05-06 09:23:00
不是C#
作者: a926 (Aaron)   2014-05-06 10:45:00
我怎看這語法都不是C#阿 Orz
作者: killer1121   2014-05-06 20:18:00
這明明是C++..
作者: virve (std::vie)   2014-05-11 03:00:00
這不是C#...是C 然後你的txt是binary檔的話 用fread吧

Links booklink

Contact Us: admin [ a t ] ucptt.com