-4

然后它必须打印到屏幕每行 80 个字符。

这是在 c 中完成的。

我的编码非常弱,不知道从哪里开始。

任何帮助表示赞赏

4

1 回答 1

1

鉴于将大写变为小写的要求,将需要:

#include <ctype.h>

对于tolower()函数和isalnum()函数

…………

从文件中输入字符,由于需要处理每个字符,因此需要:

#include <stdio.h>

对于函数:getchar()以及对于函数的定义EOF和:putc()

......

要计算当前行上当前显示的字符数,需要:

size_t lineLen = 0;

......

知道什么时候去下一个输出行需要那个数字 80

#define MAX_LINE_LEN (80)

…………

如果命令行包含:

myprogram < inputFile.txt

那么将不需要在程序中打开/关闭文件。

............

自然,将需要一个main()没有参数的函数:

int main( void )
{
...
} // end function: main

…………

由于我们将阅读大量字符,一次一个,因此需要:

以下while()语句已编辑,因此可以处理任何输入字符。

int ch;
while( (ch = getchar()) != EOF )
{
...
}

...........

由于只显示可打印字符,因此需要如下一行:

if( isalnum( ch ) )
}
....
}

…………

由于仅以小写形式显示将需要如下行:

ch = tolower( ch );

…………

需要实际输出字符,并跟踪行的长度

putc( ch );
lineLen++;

…………

需要在 80 个字符后输出一个新行并重置计数器

if( MAX_LINE_LEN >= lineLen )
{
    lineLen = 0;
    putc( '\n' );
}

…………

遇到后EOF,需要输出一个最终的换行符,以便显示所有字符

putc( '\n' );

…………

这就是它的全部。

于 2016-09-03T22:20:26.643 回答