![]() |
||
|
Regular Member
![]() ![]() 加入日期: Oct 2004 您的住址: 虛擬的世界
文章: 66
|
想請問高手~在文件檔裡有
46 56 42 94 32 64 78 34 92 76 51 72 這些的數字,要如何把46.56.42這些存進陣列裡,以下是我的部份程式碼 FILE *fp; int num; char stri[256]; int i=0,j=0; fp = fopen("textdata.txt","r"); while((num=getc(fp))!=EOF) { str[i]=num; printf("%d",str[i]); i++; } 我做的這個陣列一次只能放一個數字就是4.6.5.6通通分開存進陣列,連空格都會放進陣列裡,請幫忙指點迷津 ![]() |
|||||||
|
|
|
Major Member
![]() 加入日期: Aug 2003 您的住址: Taipei
文章: 238
|
你的問題癥結點在GetC 及 沒有判斷讀進來的值是否為數字以外的值!!
你仔細想想就知道了 , 查ㄧ下GetC的用法吧!! |
||
|
|
|
Regular Member
![]() ![]() 加入日期: Oct 2004 您的住址: 虛擬的世界
文章: 66
|
小弟已經做出空格與換行的判斷,如下
while((num=getc(fp))!=EOF) { if(num!=' '|| num!='\n') { str[i]=num; printf("%c",str[i]); //i++; } } 可是還是不會把4.6合在一個陣列裡,另外為什麼顯示出來的結果會還是有空格,而且如果把i++加入就會發生程式中斷,請高手再多給一些指點吧 ![]() |
|
|
|
Basic Member
加入日期: Oct 2005
文章: 13
|
你可以使用fgets(),或是fscanf()
getc()應是Gets character from stream. |
|
|