Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 2.02 KB

4.2.md

File metadata and controls

47 lines (40 loc) · 2.02 KB

Linuxシステムプログラミング入門 事前学習#4.2 演習:LinuxでのC言語の基礎

概要

ここでは,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アカウントへログインしている必要があります. 提出フォーム