2015-06-04 40 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; 
       } 
    }