C从读取系统调用中查找缓冲区中的新行字符

时间:2014-02-09 22:37:21

标签: c linux file-io

这是家庭作业!

目前正在进行一项任务,我需要使用读取调用从文件中读取字符,然后一次一个地将字符写入屏幕....好吧没有问题,但是在每行之后我需要增加一个行计数器,每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); 
        } 

暂时我有一个问题,弄清楚为什么我无法检测换行符,任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:2)

声明buffer

char buffer[1];

表示访问第一个字符的一个字符,您必须说

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

数组索引从0开始。