回答編集履歴

3

検証手順にコンパイル手順を含めた

2020/05/23 02:37

投稿

hidezzz
hidezzz

スコア1248

test CHANGED
@@ -64,9 +64,17 @@
64
64
 
65
65
  ```
66
66
 
67
+ 上記ソースコードを「hoge.c」というファイルに保存しておいてください。
68
+
67
- 上記ソースコードから「hoge」という実行ファイルを作成し実行した結果です。
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

動作検証可能とするため単独で確認出来るようにこちらの提示ソースコードを修正

2020/05/23 02:37

投稿

hidezzz
hidezzz

スコア1248

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( fp == NULL){
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」と変更してしまったが、提示コードが関数内部なのでむやみに変更してしまうのは良くなかった。

2020/05/22 07:20

投稿

hidezzz
hidezzz

スコア1248

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  printf("ファイルのオープンに失敗(%s)\n", strerror( errno ) );
50
50
 
51
- return 1;
51
+ return 0;
52
52
 
53
53
  }
54
54