2017-02-24 6 views
2

ファイル内の行数をチェックするコードが1つあります。ファイルには6行あります。私は新しい行 '/ n'と比較しようとしますが、結果はOKではありません。ここにコードがあります。あなたのコードに:)C - 新しい行との比較

#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
    FILE*code; 
    int NumbRow = 0; 
    char c; 

    code = fopen("SMS.txt", "r"); 
    if(code==NULL) 
    { 
     printf("I cant read from file"); 
     return; 
    } 
again: 
    while ((c=fgetc(code)) !=EOF) 
    { 
     if (c=='/n') 
     { 
      NumRow ++ ; 
     } 
     if (c!='/n') 
     { 
      goto again; 
     } 
    } 
    printf ("Number of rows is : %d", NumRow); 
    return 0; 
} 
+0

Hmmm。 "しかし、結果はOKではない"非常に正確な問題の声明ではありません。 –

+0

'goto'とは何ですか? – pinkfloydx33

答えて

2

利用'\n'の代わり'/n'を助けてください。 '\n'は次の行に移動します。改行文字'/n'ではありません

+3

...コンパイラが2つ以上の文字を持つ文字リテラル( ''/ n''は2つですが、'' \ n''は1つの改行文字です)を警告できるかどうかを確認してください。 – unwind

0

あなたは改行文字として'\n'を使用する必要がありますが、あなたは'/n'を使用しているが、2つの文字'/''n'がある意味します。

関連する問題