簡體   English   中英

fscanf:讀取“,”而不是“ \\ n”

[英]fscanf: reading a ',' instead of '\n'

我正在讀取一個包含如下數據的文件:

1,1
0.5,0.5
2,2

這些是向量,所有數字都是雙數。

因為在我的運動中每個向量的長度是已知的,所以我使用for循環讀取每個向量:

    for (i=0; i<NUM; i++) {  //number of vectors to read
        for (j=0; j<DIM; j++) {  //length of each vector
        fscanf(fp,"%lf,",&x._x[j]);
    }
}  

很好,這實際上讀取了所有三個向量。 但是,我不確定閱讀模式。

我的問題是,是否可以用“%lf”讀取每個向量,因為在每個向量的末尾實際上是“ \\ n”而不是“,”。.最好讀取每個向量的最后一個坐標和“%lf \\ n”?

謝謝!

您的問題是由於最后一個數字后面沒有逗號。 所以你必須做類似的事情

for (i=0; i<NUM; i++) {  //number of vectors to read
    for (j=0; j<DIM-1; j++) {  //length of each vector
        fscanf(fp,"%lf,",&x._x[j]);
    }
    fscanf(fp,"%lf",&x._x[j]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM