ここでは,LinuxでのC言語の基礎の理解度の確認のため,以下のような関数を実装します.
- 末尾がヌル文字となっている文字列のポインタを受け取る
- 文字列はASCII文字のみを含む
- その文字列のヌル文字までの部分を標準出力に出力する
- writeシステムコールを用いる
- stdio.hやstring.h,stdlib.hなどのC標準ライブラリを用いない
int print_string(const char* const str);
成功した場合,標準出力に書き込んだバイト数.失敗した場合,-1
str
はヌル文字を末尾にもつ文字列のポインタが与えられる.
str
に指定された文字列のヌル文字までの部分を標準出力に書き込んだ後,改行文字'\n'
も標準出力に書き込む.
以下のようなCコードで,コンソールにHello, World!
と出力されます.
int main(){
print_string("Hello, World!");
}
まず,for
文などを用いて文字列の長さを調べて,その後でwrite
システムコールを使用します.
提出には,CMakeやMakeなどビルドシステムのファイルも含めてください. tarまたはzip形式で圧縮して,以下のフォームから提出してください.tar形式への圧縮は以下のコマンドでできます.
$ tar cvf [圧縮ファイルのファイル名] [圧縮するディレクトリ名]
たとえば,pretask1
というディレクトリをsubmit.tar
というファイルに圧縮したい時は以下のようになります.
$ tar cvf submit.tar pretask1
フォームの閲覧にはセキュリティキャンプから提供されたGoogleアカウントへログインしている必要があります. 提出フォーム