2015-02-07 63 views
-2
bool not_EOL (char c) { 

    return ((c != '\n') && (c != '\0')); 
} 

while (not_EOL(gradients[i])) { 
      // Read a position factor pair 
      int a=sscanf(gradients + i, "(%d %lf)", &column, &factor); 
      printf("%d%c",a,gradients[i]); 
      if (a!=2) { 
       usage(usage_message); 

2(9 100)(29 0) 38(9 100)(49 390.043) 39(9 100)(49 390.043) 41(9 100) (49 390.043)爲什麼用C我not_EOL功能不能檢測EOL

這是我的not_EOL函數和我正在使用的文件。它似乎沒有檢測到EOL。中的printf()語句打印2(2(0,然後使用()被調用。

+1

你的函數看起來不錯給我。也許你可以張貼[MCVE](HTTP : – 2015-02-07 05:24:45

+1

你是如何更新'i'的? – user3386109 2015-02-07 05:39:03

+0

@R Sahu我用一段代碼來更新我的問題, – yjrye 2015-02-07 14:49:47

回答

-1

簡化的邏輯。

boo is_EOL(char c) 
{ 
    return ((c == '\n') || (c == '\0')); 
} 

bool not_EOL (char c) 
{ 
    return (!is_EOL(c)); 
}