No.1ベストアンサー
- 回答日時:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10
typedef struct { /* 製品データの構造体宣言 */
char name[30]; /* 製品番号 */
double height; /* 寸法 */
double weight; /* 重量 */
} PRODUCT;
PRODUCT getData() { /* 構造体データの入力 */
PRODUCT p;
char s[30];
printf("製品番号: "); /* 製品番号 */
scanf("%29s%*[^\n]*c", s);
getchar();
strcpy(p.name, s);
printf("寸法"); /* 寸法の測定値 */
scanf("%10s%*[^\n]*c", s);
getchar();
p.height = strtof(s, NULL);
printf("重量"); /* 重量の測定値 */
scanf("%10s%*[^\n]*c", s);
getchar();
p.weight = strtof(s, NULL);
return p;
}
void showData(PRODUCT x) { /* 構造体データの出力関数 */
printf("製品番号: %s\n", x.name);
printf("寸法 : %10.1f[mm]\n", x.height);
printf("重量 : %10.1f[g\n\n]", x.weight);
}
int main(void) {
PRODUCT data[50]; /* 製品データを構造体配列に */
/* データの入力 */
for (int i = 0; i < N; i++) { data[i] = getData(); }
FILE *fpw = fopen("ProductData.dat", "wb");
fwrite(&data, sizeof(data), 1, fpw);
fclose(fpw);
FILE *fpr = fopen("ProductData.dat", "rb");
fread(&data, sizeof(data), 1, fpr);
fclose(fpr);
/* データの出力 */
for (int i = 0; i < N; i++) { showData(data[i]); }
return EXIT_SUCCESS;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# C言語について教えて欲しいです。 ファイルの中身をコピーするプログラムを作ってます aというファイル 7 2022/11/03 19:21
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DXFファイルをVBで取り込み、図...
-
バイト型のデータを16進表記で...
-
ファイル内の(&H0A)を(&H0D0A)...
-
VBAでテキストファイルの改行を...
-
datagridviewでドラッグ操作が...
-
Cで2次元配列にCSVファイルを...
-
ファイル入力のデータを構造体...
-
インデックスが配列の境界外で...
-
ファイルの読み込み
-
Unicodeのファイル読み込みがう...
-
VBScriptの配列は、要素数を指...
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
バッチファイル 二つ上のディ...
-
カンマ区切りのCSVファイルから...
-
エクセルで複数のコメントのサ...
-
エクセルvbaでdocuworksprinter...
-
バッチファイル XCOPYで上書き...
-
バッチファイルのコピーで
-
Wordで差込印刷した後に別々の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DXFファイルをVBで取り込み、図...
-
バイト型のデータを16進表記で...
-
VBAでテキストファイルの改行を...
-
VBAでテキストファイルを複数開...
-
Cで2次元配列にCSVファイルを...
-
バイナリファイルでOutOfMemory...
-
テキストファイルを後ろから読...
-
[VBS] 16進数でバイナリファイ...
-
バイナリ読み込み時のデータ受...
-
ファイル入力のデータを構造体...
-
VBでLOOKUP機能
-
RGBのバイナリデータをCImageに...
-
VBScriptの配列は、要素数を指...
-
Excel VBAで画像解析
-
バイナリ出力
-
バイナリファイルの一部分をカ...
-
perl 特定の文字列をdatファイ...
-
awk getlineをもう一度ファイル...
-
CSVファイルによる検索の高速化
-
ファイル内の(&H0A)を(&H0D0A)...
おすすめ情報