回答編集履歴
3
検証手順にコンパイル手順を含めた
test
CHANGED
@@ -64,9 +64,17 @@
|
|
64
64
|
|
65
65
|
```
|
66
66
|
|
67
|
+
上記ソースコードを「hoge.c」というファイルに保存しておいてください。
|
68
|
+
|
67
|
-
|
69
|
+
以下は「hoge.c」から「hoge」という実行ファイルを作成し、それを実行した結果です。
|
68
70
|
|
69
71
|
```terminal
|
72
|
+
|
73
|
+
(この時点でhoge.cというファイルが存在しているとして…)
|
74
|
+
|
75
|
+
$make hoge
|
76
|
+
|
77
|
+
cc hoge.c -o hoge
|
70
78
|
|
71
79
|
$touch mesure.csv
|
72
80
|
|
2
動作検証可能とするため単独で確認出来るようにこちらの提示ソースコードを修正
test
CHANGED
@@ -26,11 +26,9 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
|
29
|
+
※動作検証可能とするため単独で確認ができるようにしました。
|
30
30
|
|
31
31
|
```C
|
32
|
-
|
33
|
-
/* 以下コードを実行するためには先頭に次のインクルードを入れてください */
|
34
32
|
|
35
33
|
#include <stdio.h>
|
36
34
|
|
@@ -40,16 +38,56 @@
|
|
40
38
|
|
41
39
|
|
42
40
|
|
41
|
+
int main( void ) {
|
42
|
+
|
43
|
+
FILE *fp;
|
44
|
+
|
45
|
+
fp=fopen("mesure.csv", "w");
|
46
|
+
|
47
|
+
if( fp == NULL){
|
48
|
+
|
49
|
+
printf("ファイルのオープンに失敗(%s)\n", strerror( errno ) );
|
50
|
+
|
51
|
+
return 0;
|
52
|
+
|
53
|
+
}
|
43
54
|
|
44
55
|
|
45
|
-
fp=fopen("mesure.csv", "w");
|
46
56
|
|
47
|
-
if(
|
57
|
+
printf( "オープンに成功\n" );
|
48
58
|
|
49
|
-
printf("ファイルのオープンに失敗(%s)\n", strerror( errno ) );
|
50
59
|
|
51
|
-
return 0;
|
52
60
|
|
61
|
+
return 0;
|
62
|
+
|
53
|
-
|
63
|
+
}
|
54
64
|
|
55
65
|
```
|
66
|
+
|
67
|
+
上記ソースコードから「hoge」という実行ファイルを作成し実行した結果です。
|
68
|
+
|
69
|
+
```terminal
|
70
|
+
|
71
|
+
$touch mesure.csv
|
72
|
+
|
73
|
+
$chmod 666 mesure.csv
|
74
|
+
|
75
|
+
$ls -l mesure.csv
|
76
|
+
|
77
|
+
-rw-rw-rw- 1 hidezzz hidezzz 0 5月 22 16:14 mesure.csv
|
78
|
+
|
79
|
+
$./hoge
|
80
|
+
|
81
|
+
オープンに成功
|
82
|
+
|
83
|
+
$chmod 444 mesure.csv
|
84
|
+
|
85
|
+
$ls -l mesure.csv
|
86
|
+
|
87
|
+
-r--r--r-- 1 hidezzz hidezzz 0 5月 22 16:16 mesure.csv
|
88
|
+
|
89
|
+
$./hoge
|
90
|
+
|
91
|
+
ファイルのオープンに失敗(Permission denied)
|
92
|
+
|
93
|
+
```
|
1
勝手に気を回して提示コードから「return 1」と変更してしまったが、提示コードが関数内部なのでむやみに変更してしまうのは良くなかった。
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
printf("ファイルのオープンに失敗(%s)\n", strerror( errno ) );
|
50
50
|
|
51
|
-
return
|
51
|
+
return 0;
|
52
52
|
|
53
53
|
}
|
54
54
|
|