ViVi Home > 技術文書 > さくさく理解できる C/C++ コンソールアプリ入門 > コンソールアプリの作り方


 

 

コンソールアプリの作り方
Copyright (C) 2014 by Nobuhide Tsuda

環境構築

VisualStudio のようなIDE(統合開発環境)を使う方法と、テキストエディタでソースを記述し、コンパイラでコンパイルする方法がある。
昔は後者の方法しかなかったが、最近は前者の方法の方が一般的だ。

Windows 環境でIDEを使用するのであれば、VisualStdio Express 版を使うのをお勧めする。
本稿執筆時の最新版は Visual Studio Express 2013 だぞ。

エディタでソースを記述しビルドする場合、コンパイラは gcc を使うのが普通だ。

Visual Studio でプロジェクト作成

ファイル>新規作成>プロジェクト メニューを実行し、左側のテンプレートから Visual C++ > Win32 を選択し、 中央で Win32 コンソールアプリケーション を選び、下部でプロジェクト名を入力し、【OK】を押します。
プロジェクトを作成する場所を変更したい場合は、「場所:」の部分にディレクトリを入力するか、その右の【参照…】ボタンを押してディレクトリを選択します。

Hello, World.

かなり昔から、最初に書くプログラムは画面に「Hello, World.」と表示するプログラムということになっている。
C/C++ コンソールアプリでは、以下のように記述する。

C/C++ :

#include <stdio.h>
int main()
{
    printf("Hello, World.\n");
    return 0;
}

C++ のみ:

#include <iostream>
int main()
{
    std::cout << "Hello, World.\n";
    return 0;
}

文字列を画面に表示するには2種類の書き方がある。
前者の書き方は古くからのもので、後者の書き方は C++ になって導入されたものだ。
C++ ではどちらの書き方も有効だが、C であれば当然前者の書き方しか出来ない。

printf() を使う場合、stdio.h をインクルードする。
printf() は組み込み関数で、表示する文字列を printf() へ引数として渡すと、画面に表示される。
文字列内には「\」で特殊文字を指定することができる。「\n」は改行を示す。他にもタブ(\t)などの特殊文字がある。

cout を使う場合は iostream をインクルードする。
表示する文字列を << 演算子を使って cout に渡すと、それが画面に表示される。
文字列中に「\n」と書くか、endl を出力すると出力が改行される。筆者は短く書ける前者が好きだ。
cout、endl は std 名前空間内に定義されているので、std::cout のように毎回名前空間を明示するか、
プログラムの最初の方で using namespace std; を記述し、デフォルトの名前空間を std にしておく必要がある。

筆者はずっと printf() に慣れ親しんでいたので、最初 cout の書き方に違和感があったし、 表示幅指定などの表記が面倒(詳しくは後で説明する)なこともあり、C++ でもずっと printf() を使っていた。
が、printf() はフォーマット指定と表示する式の対応に記述間違いを犯す可能性があり、危険性があることを認識し、 ある時から std::cout の方を使用することに心変わりした。
使い慣れてくると std::cout もそんなに悪くはない。慣れの問題のようである。