#4
by 学校でやらされている初心者 » 2年前
box さんが書きました: ↑2年前
きたないコードですが…
ありがとうございます。
main関数のみのほうでやってみたのですがエラーが出てしまいました。
(どちらも17行目のfp=fopen_sのところです。)
コードC2198 "fopen_s:呼び出しに対する引数が少なすぎます。
コードE0165 関数呼び出しの引数が少なすぎます。
具体的な対処法を教えていただけると助かります。
コード:
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
typedef struct anthrop {
int id;
char initial[3];
double height;
double weight;
} anthrop;
int main(void) {
anthrop bodydata[10];
FILE* fp;
int num, i;
fp = fopen_s("bodydata.dat", "r");
if (!fp) {
fprintf(stderr, "read file error!\n");
exit(1);
}
fscanf_s(fp, "%d", &num);
for (i = 0; i < num; i++) {
fscanf_s(fp, "%d", &(bodydata[i].id));
fscanf_s(fp, "%s", bodydata[i].initial);
fscanf_s(fp, "%lf", &(bodydata[i].height));
fscanf_s(fp, "%lf", &(bodydata[i].weight));
}
fclose(fp);
for (i = 0; i < num; i++) {
printf("%d人目\n", i + 1);
printf("id:%d\n", bodydata[i].id);
printf("initial:%s\n", bodydata[i].initial);
printf("height:%f\n", bodydata[i].height);
printf("weight:%f\n", bodydata[i].weight);
}
}
[quote=box post_id=156351 time=1625853737 user_id=523]
きたないコードですが…
[/quote]
ありがとうございます。
main関数のみのほうでやってみたのですがエラーが出てしまいました。
(どちらも17行目のfp=fopen_sのところです。)
コードC2198 "fopen_s:呼び出しに対する引数が少なすぎます。
コードE0165 関数呼び出しの引数が少なすぎます。
具体的な対処法を教えていただけると助かります。
[code]
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
typedef struct anthrop {
int id;
char initial[3];
double height;
double weight;
} anthrop;
int main(void) {
anthrop bodydata[10];
FILE* fp;
int num, i;
fp = fopen_s("bodydata.dat", "r");
if (!fp) {
fprintf(stderr, "read file error!\n");
exit(1);
}
fscanf_s(fp, "%d", &num);
for (i = 0; i < num; i++) {
fscanf_s(fp, "%d", &(bodydata[i].id));
fscanf_s(fp, "%s", bodydata[i].initial);
fscanf_s(fp, "%lf", &(bodydata[i].height));
fscanf_s(fp, "%lf", &(bodydata[i].weight));
}
fclose(fp);
for (i = 0; i < num; i++) {
printf("%d人目\n", i + 1);
printf("id:%d\n", bodydata[i].id);
printf("initial:%s\n", bodydata[i].initial);
printf("height:%f\n", bodydata[i].height);
printf("weight:%f\n", bodydata[i].weight);
}
}
[/code]