###発生している問題
以下のpreschedule.txtに書き込んである年月日とその日の予定
(例)2019年 12月 25日 クリスマス
を構造体に入れて出力したいのですが上手くいきません.
###preschedule.txtの内容
2019年 12月 2日 課題提出 2019年 12月 3日 中間テスト 2019年 12月 25日 クリスマス
###メイン関数
#include <stdio.h> struct schedule { char year[5]; char month[3]; char day[3]; char content[9999]; }; int main() { FILE *fp; char str[9999]; struct schedule schedules[3]; fp = fopen("preschedule.txt", "r"); if(fp==NULL) { printf("ファイルが存在しません.\n"); } while(fgets(str, sizeof(str), fp) != NULL) { int i = 0; sscanf(str, "%s %s %s %s", schedules[i].year, schedules[i].month, schedules[i].day, schedules[i].content); printf("%s %s %s %s\n", schedules[i].year, schedules[i].month, schedules[i].day, schedules[i].content); i++; } fclose(fp); }
###出力結果
2019▒12▒2▒課題提出 12▒2▒課題提出 2▒課題提出 課題提出 2019▒12▒3▒中間テスト 12▒3▒中間テスト 3▒中間テスト 中間テスト 2019▒12▒25▒クリスマス 12▒25▒クリスマス 25▒クリスマス クリスマス
###問題点
上記の出力結果のように, 文字化けする部分が存在したり, 定義した配列の要素数よりも多くの文字がschedules[i].year, schedules[i].month, schedules[i].day, schedules[i].contentに入ってしまいます. この問題に対する解決策をご教授お願い致します.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/27 12:49