Visual C++/Win32(標準C++準拠)サンプルプログラム
<岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房>の第1章から第10章までのサンプルプログラムをWin32コンソールアプリケーションに書き直したものを用意した。Visual C++2008を用いたが、圧縮ファイルとして用意したものをダウンロード・解凍したものはVisual C++2010でも開くことができる。プログラムファイルの*.cppファイルはメモ帳などのテキストエディタで開くこともできる。
Win32コンソールアプリケーションの新規作成の方法はウェブサイト<Win32コンソールアプリケーションの新規作成>で説明している。
C++の標準入出力(キーボード入力とディスプレイ出力)については、ウェブサイト<標準入出力cinとcout>で、テキストファイル入出力は<テキストファイル入出力>および<テキストファイルへの行単位読み込みと例外の生成>で説明している。
本ウェブサイト下のサンプルプログラムは、2,3箇所の簡単な変更でfedora、ubuntuなどのLinuxでもコンパイル・リンク・実行できるが、詳しくはこのページの後半で説明する。
第1章 簡単なプログラム例: Win32サンプルプログラム、
第2章 プログラムの流れの制御: Win32サンプルプログラム、
Linuxなどで本ウェブサイトのサンプルプログラムを用いる場合の注意点:
まず、ヘッダーファイルstdafx.hのインクルード
#include "stdafx.h"
を削除する。stdafx.hはVsiual C++が自動的に用意するもので、Linuxではこれを指定するとstdafx.hに関するエラーが出る。
メイン関数頭部
int _tmain(int argc, _TCHAR* argv[])
をLinux用に
int main()
などと変更する。
上のサンプルプログラムは圧縮ファイル*.zipとして用意されているが、ダウンロードしたファイルはLinuxでもマウスの右ボタンでクリックして表示されるメニュから「ここに展開する」を選んで展開することができる。ソースコードファイル*.cppなどは、展開して作成されたフォルダの1つ下のフォルダにある。例えば、sample.zipを展開すると、フォルダsampleが作成される。このフォルダsample内にさらにプロジェクト用のフォルダsampleがある。このプロジェクト用のフォルダsample内にソースコードファイル*.cppなどが格納されている。展開されたファイルの*.cppファイルや*.hファイルは上に説明したちょっとした変更を加えればそのまま用いることができる。ただし、日本語を含む場合は注意が必要である。日本語部分をLinux用文字コードに変換しておかないとLinux上で文字化けする。Visual C++で作成したソースプログラムの日本語部分をLinux用に変換するコマンドにnkfコマンドがある。
nkf -w filename1 > filename2
と実行すると、Visual C++で作成したfilename1の中の日本語文字コードがLinux用に変換されてfilename2に格納される。例えば、Visual C++で作成したファイルをsampleWin32.cppとするとき
nkf -w sampleWin32.cpp > sampleLinux.cpp
と実行すれば、sampleLinux.cppはLinux上で日本語が表示される。
すべてのサンプルプログラムをLinux上で確認したわけではないが、ほとんどのサンプルプログラムは上の注意で対応できるはずである。サンプルプログラムによっては、インクルードファイルや初期化などでエラーが出る可能性があるが、エラーメッセージを見れば簡単に対応できると考えている。