2014-02-09 31 views
0

這是作業!C在讀取系統調用時在我的緩衝區中找到換行符chart

當前即時通訊工作的任務,我需要閱讀從一個文件中的字符使用閱讀調用,然後寫人到屏幕上一次一個....在那裏沒有問題,但每行後我需要通過一個遞增行計數器,並且每20行,我需要在用戶按下空格

 char buffer[1]; 
     int n_char = 0; 
     //read (fileDesc, buffer, 5); 

     while((n_char=read(fileDesc, buffer, 1))!=0) 
     { 
      if (buffer[1] == '\n') 
      { 
       //this is not incementing? 
       lineCount++; 

      } 

      if (lineCount % 20 == 0) 
      { 
       //wait for a space to be pressed 
       //for the time being sleep to make sure im counting lines correctly 
       sleep(5); 
      } 

      n_char=write(1,buffer,n_char); 
     } 

在目前IM有一個問題弄清楚爲什麼我不能檢測換行符,任何幫助woudl暫停輸出不勝感激!

回答

2

buffer聲明

char buffer[1]; 

這意味着一個字符,訪問的第一個字符,你必須說

if (buffer[0] == '\n') 

數組下標0開始。

+1

用手掌擊打,謝謝 –

+0

爲什麼要用一個單元陣列?您可以省略數組部分,只需使用'char buffer'和'read(fileDesc,&buffer,1)'。 – usr2564301