#1
by masuter » 6年前
今、下のデータが書き込まれいるファイルを読み込み、データをそのまま表示するというプログラムを作成しております。(------は書き込まれておりません データのみです)
----------------------------------------
北海道 5431 5460 83457
東京都 13300 13230 2104
神奈川県 9079 9067 2416
愛知県 7443 7427 5116
大阪府 8849 8856 1901
福岡県 5090 5085 4847
広島県 2840 2848 8480
鳥取県 578 582 3507
島根県 702 707 6708
岡山県 1930 1936 7010
山口県 1420 1431 6114
----------------------------------------
自分で書いたプログラムが以下になります。
コード:
#include<stdio.h>
#define STRN 256
int main() {
FILE *fp;
char s[100];
int n1, n2, n3;
fopen_s(&fp, "Prefdata.txt", "r");//読み込み判定
if (fp == NULL) {
printf_s("読み込みエラーです。\n");
return -1;
}
while ( fscanf_s(fp, "%s %d %d %d",s ,&n1,&n2,&n3)!= EOF) {
printf("%s %d %d %d \n",s,n1,n2,n3);
}
fclose(fp);
return 0;
}
ネットサイトなども確認したのですが次のような警告が出てきてデバックできません。
どう修正すればいいのでしょうか。
コード:
1> 課題6-2.c
1>c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): warning C4477: 'fscanf_s' : 書式文字列 '%s' には、型 'unsigned int' の引数が必要ですが、可変個引数 2 は型 'int *' です
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: この引数はバッファー サイズとして使用されます
1>c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): warning C4473: 'fscanf_s': 書式文字列として渡された引数が不足しています
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: プレースホルダーとそのパラメーターには 5 の可変個引数が必要ですが、4 が指定されています。
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: 不足している可変個引数 5 が書式文字列 '%d' に必要です
1> 課題6-2.c.vcxproj -> C:\Users\Keisuke\documents\visual studio 2015\Projects\課題6-2.c\Debug\課題6-2.c.exe
1> 課題6-2.c.vcxproj -> C:\Users\Keisuke\documents\visual studio 2015\Projects\課題6-2.c\Debug\課題6-2.c.pdb (Full PDB)
今、下のデータが書き込まれいるファイルを読み込み、データをそのまま表示するというプログラムを作成しております。(------は書き込まれておりません データのみです)
----------------------------------------
北海道 5431 5460 83457
東京都 13300 13230 2104
神奈川県 9079 9067 2416
愛知県 7443 7427 5116
大阪府 8849 8856 1901
福岡県 5090 5085 4847
広島県 2840 2848 8480
鳥取県 578 582 3507
島根県 702 707 6708
岡山県 1930 1936 7010
山口県 1420 1431 6114
----------------------------------------
自分で書いたプログラムが以下になります。
[code]
#include<stdio.h>
#define STRN 256
int main() {
FILE *fp;
char s[100];
int n1, n2, n3;
fopen_s(&fp, "Prefdata.txt", "r");//読み込み判定
if (fp == NULL) {
printf_s("読み込みエラーです。\n");
return -1;
}
while ( fscanf_s(fp, "%s %d %d %d",s ,&n1,&n2,&n3)!= EOF) {
printf("%s %d %d %d \n",s,n1,n2,n3);
}
fclose(fp);
return 0;
}
[/code]
ネットサイトなども確認したのですが次のような警告が出てきてデバックできません。
どう修正すればいいのでしょうか。
[code]
1> 課題6-2.c
1>c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): warning C4477: 'fscanf_s' : 書式文字列 '%s' には、型 'unsigned int' の引数が必要ですが、可変個引数 2 は型 'int *' です
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: この引数はバッファー サイズとして使用されます
1>c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): warning C4473: 'fscanf_s': 書式文字列として渡された引数が不足しています
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: プレースホルダーとそのパラメーターには 5 の可変個引数が必要ですが、4 が指定されています。
1> c:\users\keisuke\documents\visual studio 2015\projects\課題6-2.c\課題6-2.c(15): note: 不足している可変個引数 5 が書式文字列 '%d' に必要です
1> 課題6-2.c.vcxproj -> C:\Users\Keisuke\documents\visual studio 2015\Projects\課題6-2.c\Debug\課題6-2.c.exe
1> 課題6-2.c.vcxproj -> C:\Users\Keisuke\documents\visual studio 2015\Projects\課題6-2.c\Debug\課題6-2.c.pdb (Full PDB)
[/code]