teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2018/01/29 07:22

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -67,4 +67,63 @@
67
67
 
68
68
  たぶん、Windows なら Explorer っていうソフト ( Windows付属 ) が行っていると思います。
69
69
 
70
- もちろん、プログラマが別のファイルやソフトを起動することもできますが。
70
+ もちろん、プログラマが別のファイルやソフトを起動することもできますが。
71
+
72
+ -----------------------------------
73
+
74
+ [追記2]
75
+
76
+ > (引用かつ、略) の様な(処理系?の)プログラムを書くための参考書などはないでしょうか?
77
+
78
+ ないですね。
79
+
80
+ 全く無いわけではないですが、「これやっとけばOK」っていうのはないです。
81
+
82
+ あってもdocumentationぐらい。
83
+
84
+ 私のやり方としては、
85
+
86
+ 1. 作りたいソフトをイメージする ( ノートに記述でもしておく。 )
87
+ 2. 機能としてどういうのがほしいかを考える
88
+ 3. 2を分解して考えていく
89
+ 4. それぞれを検索したり書籍等で調べる
90
+ ...
91
+
92
+ これをひたすら繰り返す。
93
+
94
+ 例えばC言語でファイルの書き込みをするときどうします?
95
+
96
+ 処理内容的には ファイルに書き込む
97
+ ですが、
98
+
99
+ 実際には
100
+
101
+ 1. ファイルを開く
102
+ 2. 書き込む
103
+ 3. ファイルを閉じる
104
+
105
+ を行っていますよね。
106
+
107
+ そういう風に分解して考える。
108
+
109
+ ダブルクリックするとデスクトップに "today"ディレクトリを生成し、その中に"image", "info"...といったディレクトリを生成するとしたら、
110
+
111
+ 1. デスクトップのパスを取得する
112
+ 2. ディレクトリを 1 に生成する
113
+ 3. カレントディレクトリを 2 に移動
114
+ 4. imageディレクトリ等を生成
115
+ ...
116
+
117
+ みたいに考えることができますね。
118
+
119
+ こういう風に分解して考えていく。
120
+
121
+ 初段階のうちは**フローチャート**で考えるといいかも。
122
+
123
+ 後は**データ構造とアルゴリズム**をやったり、**デザインパターン**もやったりとか。
124
+
125
+ 一気に考えようとすると普通は無理。
126
+
127
+ 一気にやって可能なのは、よほど熟練した達人か超人ぐらいのもの。
128
+
129
+ 普通は分解して考えると思う。

2

追記

2018/01/29 07:22

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -52,4 +52,19 @@
52
52
 
53
53
  ですが、これは人によります。
54
54
 
55
- なので、工夫してください。
55
+ なので、工夫してください。
56
+
57
+ ---------------------------------------
58
+ [追記1]
59
+
60
+ > 例えば、シンプルにアイコンをダブルクリックするとアプリが開いたりしますが、これはosのプログラムが行なっているのですか?
61
+
62
+ だと思います。
63
+
64
+ もしソフト側だったらプログラマか一般ユーザがやらないといけないはずですし。
65
+
66
+ ( Windows API に起動用の関数がありますから。 )
67
+
68
+ たぶん、Windows なら Explorer っていうソフト ( Windows付属 ) が行っていると思います。
69
+
70
+ もちろん、プログラマが別のファイルやソフトを起動することもできますが。

1

printf関数の引数についての指摘があったので別の関数へ変更

2018/01/29 07:11

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -26,13 +26,23 @@
26
26
 
27
27
  ライブラリといっても、自分が使いやすいようにするだけですが。
28
28
 
29
- 例えばprintf関数の第一引数は フォーマットですよね。
29
+ ~~例えばprintf関数の第一引数は フォーマットですよね。~~
30
30
 
31
- 文字列を渡すときでもいちいち指定しないといけないから printf関数をラップして
31
+ ~~文字列を渡すときでもいちいち指定しないといけないから printf関数をラップして
32
+ ~~
32
33
 
34
+ ~~void Print( const char *msg ){
35
+ printf( "%s", msg );
36
+ }~~
37
+
38
+
39
+ Windows APIを実装して使う場合、MessageBox関数っていう関数があります。
40
+
41
+ これの引数がめんどくさいので
42
+
33
43
  ```C
34
- void Print( const char *msg ){
44
+ void MsgBox( const char *msg, const char *caption ){
35
- printf( "%s", msg );
45
+ MessageBox( NULL, msg, caption, MB_OK );
36
46
  }
37
47
  ```
38
48