PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   關於C語言 (https://www.pcdvd.com.tw/showthread.php?t=659230)

jackyepson 2006-10-02 04:36 PM

關於C語言
 
想請問高手~在文件檔裡有
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通通分開存進陣列,連空格都會放進陣列裡,請幫忙指點迷津 :cry:

swdwo 2006-10-02 04:56 PM

你的問題癥結點在GetC 及 沒有判斷讀進來的值是否為數字以外的值!!
你仔細想想就知道了 , 查ㄧ下GetC的用法吧!!

jackyepson 2006-10-02 06:40 PM

小弟已經做出空格與換行的判斷,如下
while((num=getc(fp))!=EOF)
{
if(num!=' '|| num!='\n')
{
str[i]=num;
printf("%c",str[i]);
//i++;
}
}
可是還是不會把4.6合在一個陣列裡,另外為什麼顯示出來的結果會還是有空格,而且如果把i++加入就會發生程式中斷,請高手再多給一些指點吧 :cry:

stevenlin 2006-10-02 10:57 PM

你可以使用fgets(),或是fscanf()
getc()應是Gets character from stream.


所有的時間均為GMT +8。 現在的時間是02:40 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。