C標準ライブラリ 解答ページ | Programming Place Plus Modern C++編【標準ライブラリ】 第1章

トップページModern C++編 C++編](../../index.html) – 第1章

Modern C++編は作りかけで、更新が停止しています。代わりに、C++14 をベースにして、その他の方針についても見直しを行った、新C++編を作成しています。
Modern C++編は削除される予定です。

問題①

問題① 次のC言語プログラムを、C++ で追加されたヘッダを使う形に書き換えてください。

#include <stdio.h>
#include <string.h>

int main(void)
{
    char str[] = "abcde\n";
    size_t len = strlen(str);
    
    str[len - 1] = '\0';

    puts(str);
    
    return 0;
}


C標準ライブラリのヘッダは、先頭に c を付けて、拡張子の .h を消せば、C++ のヘッダ名になります。 そして、ヘッダ内にある定義は std名前空間内に含まれるようになります。

#include <cstdio>
#include <cstring>

int main(void)
{
    char str[] = "abcde\n";
    std::size_t len = std::strlen(str);
    
    str[len - 1] = '\0';

    std::puts(str);
    
    return 0;
}

実行結果:

abcde

本編で触れたように、Visual Studio、clang ともに、「std::」を付けなくてもコンパイルできます。size_t も std::size_t になることに注意してください。



参考リンク


更新履歴

’2018/4/2 「VisualC++」という表現を「VisualStudio」に統一。

’2018/1/5 Xcode 8.3.3 を clang 5.0.0 に置き換え。

’2017/7/30 clang 3.7 (Xcode 7.3) を、Xcode 8.3.3 に置き換え。

’2017/7/3 新規作成。



第1章のメインページへ

Modern C++編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る