为了账号安全,请及时绑定邮箱和手机立即绑定

C语言使用结构和文件写关于读入读出日期,bug显示unknown escape sequence是什么意思?

C语言使用结构和文件写关于读入读出日期,bug显示unknown escape sequence是什么意思?

C
qq_缱绻流年_03682441 2017-04-23 23:57:46
使用结构和文件,写一个关于读入读出日期的程序1、bug显示unknown escape sequence,求大神帮忙指出哪里出错了2、是不是在函数中改变结构的值,都要用指针结构的写法?源代码如下#include<stdio.h>//仍然有Bug #include<stdlib.h>int getHolidays(struct Date *);struct Date{ int year; int month; int day;};int main(){ int i,numHolidays; struct Date holi[20]; numHolidays=getHolidays(&holi); printf("The Holiday array contains %d holidays\n",numHolidays); printf("and contains the elements:\n"); for(i=0;i<numHolidays;i++) { printf("%d/%d/%d\n",holi[i].year,holi[i].month,holi[i].day); } return 0; }   int getHolidays(struct Date *holi) {  char HolidayFile[]="E:\北航生活\大一下\C语言程序设计\作业\Holidays.txt";  struct Date holi[20];  int i=0;  FILE *inFile;    inFile=fopen(HolidayFile,"r");  if(inFile==NULL)  {  printf("\nFailed to open the file.\n");  exit(1); } while(fscanf(inFile,"%d/%d/%d",&holi[i]->year,&holi[i]->month,&holi[i]->day)!=EOF) { i++; } fclose(inFile); return i; }文件holiday 中的信息:2007/1/12007/1/152007/2/192007/4/62007/4/92007/5/52007/5/212007/5/302007/7/12007/7/42007/9/32007/10/82007/10/92007/11/222007/12/25
查看完整描述

3 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

1.char HolidayFile[]="E:\\北航生活\\大一下\\C语言程序设计\\作业\\Holidays.txt";//注意转义
2.while(fscanf(inFile,"%d/%d/%d",&holi[i].year,&holi[i].month,&holi[i].day)!=EOF)//注意结构体成员操作
3.	char HolidayFile[]="E:\\北航生活\\大一下\\C语言程序设计\\作业\\Holidays.txt";
 	struct Date holi[20];//重复定义holi,函数参数里面传入的就是holi
 	int i=0;


查看完整回答
反对 回复 2017-04-24
  • qq_缱绻流年_03682441
    qq_缱绻流年_03682441
    已改正,产生正确输出! 再提出两个问题:(1)在开头定义的结构名,和函数中的结构名,必须不同吗? (2)我的教材上有一种写法,是在定义函数时,传入的变量是结构指针(例如 struct Date holi,然后在函数中引用量时,用“->”号,例如holi.month就是(*holi)->month.请问如果使用这种写法,表示取holi[i]的时候应该怎么写?我刚才试着改这个,但一直没有改对qwq 谢谢你的热心解答~
  • 望远
    望远
    这里的重复定义主要是因为你函数参数列表里传入的结构体数组名也是holi,不可重复,(*(holi+i))-&gt;month来访问第i个元素的month属性
?
ruibin

TA贡献358条经验 获得超213个赞

"%d/%d/%d" 应该是这里的转义问题。你转一下,试试。

查看完整回答
反对 回复 2017-04-24
  • qq_缱绻流年_03682441
    qq_缱绻流年_03682441
    这里好像没有问题,因为文件中保存的是带斜线的。不过在输入文件名的时候,确实有斜线错误导致的转义问题,谢谢你的提醒!~
  • 3 回答
  • 0 关注
  • 1833 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信