然后它必须打印到屏幕每行 80 个字符。
这是在 c 中完成的。
我的编码非常弱,不知道从哪里开始。
任何帮助表示赞赏
然后它必须打印到屏幕每行 80 个字符。
这是在 c 中完成的。
我的编码非常弱,不知道从哪里开始。
任何帮助表示赞赏
鉴于将大写变为小写的要求,将需要:
#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' );
…………
这就是它的全部。