-4

次に、1行あたり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

.........

一度に 1 つずつ多くの文字を読み取るため、以下が必要になります。

次の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 に答える