程序如下:#include<stdio.h>#include<stdlib.h>main(void){FILE *fp;int sample[100];int i;if((fp=fopen("sample","wb"))==NULL){printf("Cannot open file\n");exit(1);}for(i=0;i<100;i++)sample[i] = i;if(fwrite(sample,sizeof(sample),1,fp)!=1)printf("File Error");fclose(fp);return 0;}運行之后打開sample文件后看到的都是ASCII的控制字符,怎樣才能使sample文件中的內(nèi)容是從0到99?謝謝。用fread函數(shù)讀取的時候,輸出的是0到99.
2 回答

一只名叫tom的貓
TA貢獻1906條經(jīng)驗 獲得超3個贊
因為計算機是以二進制進行信息處理的,所以要用對應的ascii碼寫入。
數(shù)字0對應的ascii碼是48
相應的1是49
2是50
依次類推
這只是一種方法,還可以用函數(shù)itoa把數(shù)字轉換成字符進行輸出。

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
其實就是不能寫入數(shù)字,只能寫入字符,否則數(shù)字會轉為字符。
還有一種方法。itoa()函數(shù)。把數(shù)字轉化為字符(串)。
- 2 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消