fork(1) download
  1. #define null NULL
  2. #define max_data 3
  3.  
  4. #include<stdio.h>
  5. #include<stdlib.h>
  6. #include<string.h>
  7.  
  8. typedef struct{
  9. int x,
  10. y;
  11. }data_t;
  12.  
  13. data_t data[] = {{5, 5}, {3,4}, {8, 1}};//最大3個
  14.  
  15.  
  16. void show(){
  17. for(int i=0;i<max_data;i++){
  18. printf("data[%d] = (%d, %d)\n", i, data[i].x, data[i].y);
  19. }
  20. printf("\n");
  21. }
  22. int main(){
  23. //関数のプロトタイプ宣言
  24. void ini();
  25. void set();
  26. void file_writer(const char*);
  27. void file_reader(const char*);
  28.  
  29. //処理
  30.  
  31. show();
  32.  
  33. printf("ファイルに書き込み\n"); file_writer("data01.dat");
  34.  
  35. printf("\n初期化\n");
  36. ini(); show();
  37.  
  38. printf("ファイルから読み込み\n"); file_reader("data01.dat");
  39.  
  40. show();
  41.  
  42. return 0;
  43. }
  44.  
  45. void ini(){
  46. memset(data, 0, sizeof(data_t)*max_data);
  47. }
  48.  
  49. void file_writer(const char* fname){
  50. FILE *fp;
  51.  
  52. if( (fp = fopen(fname, "wb")) == null){
  53. printf("ファイル作成に失敗しました");
  54. fclose(fp);
  55. return;
  56. }
  57. fwrite(data, sizeof(data_t)*max_data, 1, fp);
  58.  
  59. fclose(fp);
  60. }
  61. void file_reader(const char* fname){
  62. FILE *fp;
  63.  
  64. if( (fp = fopen(fname, "rb")) == null){
  65. printf("ファイル読み込みに失敗しました");
  66. fclose(fp);
  67. return;
  68. }
  69. fread(data, sizeof(data_t)*max_data, 1, fp);
  70.  
  71. fclose(fp);
  72. }
  73.  
Runtime error #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
Standard output is empty