0001-0100ソースの内容/使用した関数や構造体など
ccp_0001 テキストファイルの改行。テキスト・ストリームとバイナリ・ストリームの違い。CR/LF改行などの2バイト改行とLF改行などの1バイト改行との相互変換。
fopen,fclose,fgetc,fputc,feof,continue,
ccp_0002 ファイルのランダム表示。バイナリーモードで読み込んだファイルの一部をランダムに表示する。
fopen,fclose,fseek,ftell,srand,SEEK_SET,SEEK_END,typedef,struct,sizeof,
ccp_0003 ファイル更新モード。バイナリーモードで読み込んだファイルの一部を書き換える。
fopen,fclose,fseek,SEEK_SET,SEEK_END,typedef,struct,sizeof,fwrite,fgetpos,fsetpos,strcpy,
ccp_0004 関数へのポインタ。
ccp_0005 関数の配列化。関数を配列にして様々な処理を単純化する。
ccp_0006 ブロック単位でのファイルの読み書き。
fread,fwrite,
ccp_0007 バイナリーとテキストの相互変換。
ccp_0008 うるう年の判定と月の日数。
ccp_0009 指定した文字を削除する。delete_char関数。
ccp_0010 シフト演算とオーバーフロー/アンダーフロー。
ccp_0011 構造体へのポインタを返す関数(C)。
値渡しのポインタ(アドレス)返し、アドレス渡しのポインタ(アドレス)返し。
ccp_0012 構造体へのポインタを返す関数(C++)。
参照渡しのポインタ(アドレス)返し、参照渡しの参照返し。
ccp_0013 thisポインタとその使い方。
ccp_0014 voidキーワードとその使い方。
ccp_0015 左辺値と右辺値。
ccp_0016 using宣言とusingディレクティブ。stdとは何か。CとC++の差異。
ccp_0017 wchar_t型データとLプリフィックス。MicrosoftとBorlandの差。
wchar_t,wctrans_t,wctype_t,wint_t,WCHAR,
ccp_0018 wchar_t型文字列の保存。(1)単純に保存する場合、(2)BOMを付けて保存する場合がある。
ccp_0019 Unicodeファイルの簡単な作成方法。プログラム内から簡単にUTF-16(LE)のテキストを出力できるのが利点。
(1)ファイル関連の関数とwchar_t型との関係、(2)正常に書き込める場合、(3)正常に書き込めない場合との比較。
ccp_0020 UTF-8ファイルの手動作成(エンコード)方法。
UnicodeToUTF8関数の使い方。ビット操作でチマチマとUTF-8ファイルを作成する方法である。
ccp_0021 Shift_JISファイルやUTF-16ファイルからUTF-8ファイルへの手動(ビット操作)での変換方法。
ccp_0022 UTF-8のデータをUnicode(UTF-16)へ手動(ビット操作)でチマチマと変換する。また、UTF-8ファイル→Unicode(UTF-16)へ変換、UTF-8ファイル→Shift_JISへ変換の実例である。
wctomb,mbtowc,UTF8ToUnicode,
ccp_0023 UTF-8データとUnicodeの関係。そのエンコードとデコードの方法。UTF-8の操作の基本である。
UnicodeToUTF8,UTF8ToUnicode,
ccp_0024 mbstowcs/mbtowcの使い方。文字コードごっこ以外の使い方である。
全角文字と半角文字の混じった日本語のテキストファイルから指定した文字が何個あるかを数える。
ccp_0025 mbstowcs/wctombの使い方。文字コードごっこ以外の使い方である。
全角文字と半角文字の混じった文字列(ファイル)を1文字づつ切り分ける。
ccp_0026 全角文字と半角文字が混合している文字列の文字数を数える。
ccp_0027 CSVファイルの処理。CSVファイルのフィールド数をチェックして、フィールド数の不足した不適当なデータを除外する。
ccp_0028 行単位でのファイルの切り分け。1つのファイルを目的に応じて数個のファイルに分類する。
ccp_0029 バイナリファイルの書き換え。
ccp_0030 文字列の置換。ReplaceLine関数の作成と検討。
ccp_0031 文字列の検索。GREPもどきの列挙型の文字列の検索。
ccp_0032 文字種の判別。
ccp_0033 配列へのポインタの使い方。「int *ptr[5];」と「int (*ptr)[5];」の差異でもある。
ccp_0034 ビットシフトローテーションによるファイルの暗号化の例である。
ccp_0035 1バイトデータのビット状態の表示。
ccp_0036 strtok関数と前置インクリメント。
ccp_0037 EOFの読み込み。
ccp_0038 機種依存のreadとwrite。
ccp_0039 素因数分解の方法。
ccp_0040 エンディアンの問題。リトルエンディアンの逆順はどういう場合にどういうところで起こるか。
ccp_0041 浮動小数点数の比較。machine epsilonの問題。
ccp_0042 MBCSとUNICODE。マルチバイト文字とUnicode文字の操作についての比較。
ccp_0043 子プロセスの実行。spawn系関数など。
ccp_0044 2進数の文字列化。10進数の数値と2進数の文字列の相互変換である。
ccp_0045 bool値のトグル。5種類のパターン。この点についてのパソコン系ゴミ本の比較検討。
ccp_0046 ビット演算。
ccp_0047 文字種と漢字の判定。指定のファイルを読み込んでそのファイルの最初から最後までの文字について、その文字種を表示していく。
ccp_0048 _ismb系関数と漢字の判定。
ccp_0049 CSVファイルの処理。ダブルコーテーション("")の処理。フィールドの選択処理。キーワードによる分別処理。 
ccp_0050 CSVファイルの処理の実例。郵便番号と住所録データの場合。
ccp_0051 文字単位での読み書き。fgetc/fputcの使い方。
ccp_0052 文字単位での読み書き。ungetcの使い方。
ccp_0053 fopen関数の"a"モードの問題点。Ctrl+Z(0x1A)との関係。
ccp_0054 バイナリファイルとテキストファイルの判別。
コマンドラインパラメータの処理方法の例。
ccp_0055 改行コードの判定。(1)MBCSの場合と、(2)UNICODEの場合がある。
ccp_0056 clearerr関数とferror関数。
ccp_0057 malloc/calloc関数でのCとC++との使い方の差異。
ccp_0058 ファイルの更新モード。簡易暗号化(crypt.exe)。
fopen,fseek,fgetc,fputc,fclose,
ccp_0059 MB_CUR_MAXとは何か。MB_LEN_MAXとMB_CUR_MAXの使い方の差異。
setlocale,LC_ALL,mblen,
ccp_0060 ANSI Cのマルチバイト文字対応関数。
mblen関数の使い方。
ccp_0061 ANSI Cのマルチバイト文字対応関数。
mbtowc関数の使い方。
ccp_0062 ANSI Cのマルチバイト文字対応関数。
wctomb関数の使い方。
ccp_0063 ANSI Cのマルチバイト文字対応関数。
mbstowcs関数の使い方。
ccp_0064 ANSI Cのマルチバイト文字対応関数。
wcstombs関数の使い方。
ccp_0065 関数へのポインタ。古い書き方(K&R)と新しい書き方(ANSI)の差。
ccp_0066 関数へのポインタの配列。古い書き方(K&R)と新しい書き方(ANSI)の差。
ccp_0067 fgets関数と改行文字。改行処理をめぐるある投稿プログラム(ソフトバンク「C MAGAZINE」1991年1月号)の違和感。
ccp_0068 fgets関数の動作。
(1)CRLF改行とrb/rtモード、(2)LF改行とrb/rtモード、(3)LF改行とrt/wtモード、(4)バイナリファイルとfgets。
ccp_0069 feof関数の問題点。低レベルな雑誌記事の氾濫。
ccp_0070 ヘッダーファイルの作成と複数インクルード対策。
define,if,!defined,ifndef,ifdef,endif,
ccp_0071 Unicodeストリーム出入力関数の使い方。
ccp_0072 volatile修飾子の動作。ある場合とない場合との比較。
ccp_0073 モンテカルロ法(Monte Carlo Method)。
ccp_0074 再帰呼び出し。階乗とネイピア数の求め方。
ccp_0075 補数と負の数。1の補数と2の補数。
ccp_0076 memcpy関数の使い方。mem〜系とstr〜系との相違。
ccp_0077 constとポインタ。int* const と const int* の違い。char* const と const char* の違い。
ccp_0078 sizeofと配列とポインタ。配列の要素数。
ccp_0079 strtod関数の使い方。
ccp_0080 fseek関数のテキストファイルでの正しい使い方。
ccp_0081 Win32 Console Application(Visual C++)。
_tmain,wchar_t,setlocale,
ccp_0082 CR改行への対処方法。type_cr.cpp,cr_crlf.cpp。
tmpnam,remove,rename,
ccp_0083 マニュアルのデタラメ:fwrite関数の改行。
ccp_0084 複素数の処理。CとC++の差異。
complex,
ccp_0085 ポインタ変数のサイズ。
ccp_0086 qsort関数の使い方。比較関数の書き方。qsort関数とint型の配列のソート。
ccp_0087 qsort関数とfloat型の配列のソート。
ccp_0088 qsort関数と文字列(char型の配列)のソート。
ccp_0089 ANSI/ASCIIコード、JIS(JIS X 0201-1976)コードの表示。
ccp_0090 Visual C++によるコンソールプログラム。
ccp_0091 BC++でメッセージボックスを使う。
ccp_0092 strspn関数の使い方。
MicrosoftとBorlandのマニュアルの問題点。その差異と誤解を招く表現。
ccp_0093 strcspn関数の使い方。
MicrosoftとBorlandのマニュアルの問題点。その差異と誤解を招く表現。
ccp_0094 strcspn,_mbscspn,wcscspnの動作の比較。
同一の日本語文字列を使ってその動作を比較したものである。
ccp_0095 Windows 8でコマンドライン版Borland C++を使うための諸設定。
ccp_0096 C++の参照とは何か。
ccp_0097 配列とポインタ。定数へのポインタと変数へのポインタ。文字列のコピーまたは文字列を返す関数の例である。
ccp_0098 strpbrk関数の使い方。ファイル名に使用できない文字が使われているかのチェック。
ccp_0099 フラッシュの動作。バッファリングには不可欠。
fflush,flushall,
ccp_0100 ビットの並びの表示。