查找文本文件中每行的行大小

MRP*_*MRP 5 c

如何计算每行中的字符数或数字?是否有类似EOF的东西更像是一条线?

Sam*_*Sam 5

您可以遍历行中的每个字符并继续递增计数器,直到'\n'遇到行尾().确保以文本模式("r")而不是二进制模式("rb")打开文件.否则,流不会自动将不同平台的行结束序列转换为'\n'字符.

这是一个例子:

int charcount( FILE *const fin )
{
    int c, count;

    count = 0;
    for( ;; )
    {
        c = fgetc( fin );
        if( c == EOF || c == '\n' )
            break;
        ++count;
    }

    return count;
}
Run Code Online (Sandbox Code Playgroud)

这是一个测试上述功能的示例程序:

#include <stdio.h>

int main( int argc, char **argv )
{
    FILE *fin;

    fin = fopen( "test.txt", "r" );
    if( fin == NULL )
        return 1;

    printf( "Character count: %d.\n", charcount( fin ) );

    fclose( fin );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)