目次
はじめに
はじめに
Visual C++ 2010 Expressのインストール
プログラムの作成
hello.c
コンパイルと実行
C言語プログラミングの学習環境
終了ステータスって?
整数値を3桁区切りで表示するプログラム
課題1 「整数値を3桁区切りで表示する」
ソースコードの雛形
h20a6.c
ソースコードの解説
配列の要素を反転する
課題2 「整数型の最大値と最小値を表示する」
h20a6_min.c
ソースコードの解説
課題3 「64ビットの整数値を表示する」
h20a6_x64.c
ソースコードの解説
他の言語のlong型
課題4 「整数値を4桁区切りの16進数で表示する」
h20a6_hex.c
ソースコードの解説
多倍長整数の加算を行うプログラム
課題1 「多倍長整数型を作る」
ソースコードの雛形
h21a9_set.c
ソースコードの解説
課題2 「多倍長整数の比較を行う」
h21a9_cmp.c
ソースコードの解説
課題3 「多倍長整数の加算を行う」
h21a9_add.c
ソースコードの解説
条件演算子を使用する
課題4 「多倍長整数の減算を行う」
h21a9_sub.c
ソースコードの解説
課題5 「多倍長整数型に符号を追加する」
h21a9_ssub.c
ソースコードの解説
課題6 「符号付き多倍長整数の加減算を行う」
h21a9_sign.c
h21a9_sign.c - part2
ソースコードの解説
数当てゲームを行うプログラム
課題1 「重複のない4桁の乱数を生成する」
ソースコードの雛形
h18a6_prev.c
ソースコードの解説
擬似乱数って?
課題2 「マスターマインドを作成する」
ソースコードの雛形
h18a6.c
ソースコードの解説
課題3 「平均推測回数を表示する」
h18a6_average.c
ソースコードの解説
課題4 「組合せを用いてマスターマインドを解くAIを作成する」
h18a6_ai.h
h18a6_ai.c
h18a6_ai_comb.c
ソースコードの解説
課題5 「順列を用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm.c
ソースコードの解説
課題6 「順列のみを用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm10.c
ソースコードの解説
ソースコードの分割
文字列のURLエンコードを行うプログラム
課題1 「URLエンコードを行う」
ソースコードの雛形
h16a6.c
ソースコードの解説
ポインタを扱うときの注意
課題2 「空白文字を+記号に置換する」
h16a6_space.c
ソースコードの解説
課題3 「URLデコードを行う」
h16a6_decode.c
ソースコードの解説
相対パスを絶対パスに変換するプログラム
課題1 「UNIX形式のパスを変換する」
ソースコードの雛形
h21h9.c
ソースコードの解説
課題2 「Windows形式のパスを変換する」
h21h9_win.c
ソースコードの解説
課題3 「両方の形式を変換する」
h21h9_both.c
ソースコードの解説
WindowsでもUNIXでもコンパイルできるソースコード
課題4 「ファイルの有無を確認する」
h21h9_exists.c
ソースコードの解説
標準ライブラリ関数の調べ方
単語幅でワードラップを行うプログラム
課題1 「単語幅でワードラップする」
ソースコードの雛形
h17h6.c
ソースコードの解説
課題2 「文字列をトークン分割する」
h17h6_token.c
ソースコードの解説
課題3 「改行文字に対応する」
h17h6_newline.c
ソースコードの解説
Windowsのフォントから文字幅を取得してみる
文字数でワードラップを行うプログラム
課題1 「文字数でワードラップする」
ソースコードの雛形
h22h9.c
ソースコードの解説
ファイル記述子って?
課題2 「タブ文字に対応する」
h22h9_tab.c
ソースコードの解説
課題3 「定義済みのキーワードを参照する」
ソースコードの雛形
h22h9_keyword1.c
ソースコードの解説
課題4 「キーワードを定義する」
h22h9_keyword2.c
ソースコードの解説
奥付
奥付

閉じる


相対パスを絶対パスに変換するプログラム

試し読みできます

課題1 「UNIX形式のパスを変換する」

相対パスを絶対パスに
変換するプログラム

[出典] 平成21年度 春期 午後試験 問9

課題1 「UNIX形式のパスを変換する」

 UNIX系OSのパス表記は、ディレクトリ名を「/」で区切り、ルートディレクトリ「/」から始まる絶対パスを使用します。 相対パスで使用する「.」はカレントディレクトリを指し、「..」は1つ上のディレクトリを指します。 パスがディレクトリを指すとき末尾の「/」はあってもなくても構いません。 なお相対パスに含まれる「..」が多すぎる場合、ルートディレクトリ直下を指しているものと解釈されます。
 与えられたUNIX形式のパスを絶対パスに変換する関数convert()を作成してください。

UNIX形式のパス変換例

試し読みできます

ソースコードの雛形

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


  3. void convert(const char *path, const char *base, char *result);


  4. /**
  5. * @brief 相対パスを絶対パスに変換する。
  6. *
  7. * @param [in] path 変換前のパス
  8. * @param [in] base カレントディレクトリの絶対パス
  9. * @param [out] result 変換後の絶対パス
  10. * @return なし
  11. */
  12. void convert(const char *path, const char *base, char *result)
  13. {
  14. /** @todo 実装してください。 */
  15. }


  16. int main(int argc, char *argv[])
  17. {
  18. char result[FILENAME_MAX];
  19. convert("../../b/c/", "/a/d/e/", result);
  20. printf("%s\n", result);
  21. return 0;
  22. }

h21h9.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題2 「Windows形式のパスを変換する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h21h9_win.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題3 「両方の形式を変換する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h21h9_both.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

WindowsでもUNIXでもコンパイルできるソースコード

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題4 「ファイルの有無を確認する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h21h9_exists.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

標準ライブラリ関数の調べ方

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)