2015-06-04 41 views
0

基本上我需要找到一種方法來發現段落是否在句點(。)中結束。計算不會在期間結束的段落,C語言

在這一刻,我已經可以計算給定文本的段落了,但即時通訊不會提供任何內容來檢查它是否在句點中結束。

任何幫助會幫助我,謝謝

char ch; 
    FILE *fp; 
    int paragraph=0; 
    int newLine=0; 
    fp = fopen("123.txt","r"); 

    while((ch = fgetc(fp)) != EOF){ 

     if(ch=='\n'){ 
      newLine++; 
      if(newLine==2){ 
       paragraph++; 
       newLine=0; 
      } 
     } 
      else{ 
       newLine=0; 
      } 


    } 
    printf("%d\n",paragraph); 
    fclose(fp); 
    return 0; 
+0

http://stackoverflow.com/help/how-to-ask – KevinDTimm

+2

可以存儲在其他部分的前一個字符。然後檢查是否有兩個換行符,如果前一個字符是句號。 – wimh

+2

'char ch;'應該是'int ch;'。你很幸運'char'在系統上默認簽名,否則程序永遠不會停止。它仍然是一個有符號字符的錯誤,因爲它會錯誤地停在''\ 377'' – chqrlie

回答

0
if(ch=='\n'){ 
      newLine++; 
      if(newLine==2){ 
       paragraph++; 
       newLine=0; 
      if(temp!='.'){ 
       ponto++; 
      } 
      } 
     } 
      else{ 
       newLine=0; 
       temp=ch; 
       } 
    }