一个关于C语言,文件名中添加系统时间的问题

请问,我用下列代码能建立一个有系统时间的txt文件,#include<stdio.h>#include<time.h>intmain(){time_tt;structtm... 请问,我用下列代码能建立一个有系统时间的txt文件,
#include <stdio.h>
#include <time.h>
int main()
{
time_t t;
struct tm *p;
FILE *fp = NULL;
char fname[256] = {0};
t = time(NULL);
p = gmtime(&t);

sprintf(fname, "%d-%d-%d.txt",1900+p->tm_year,1+p->tm_mon,p->tm_mday);

fp = fopen(fname, "w");
fclose(fp);

}
但当我向我其他程序添加程序段
time_t t;
struct tm *p;
FILE *fp = NULL;
char fname[256] = {0};
t = time(NULL);
p = gmtime(&t);

sprintf(fname, "%d-%d-%d.xml",1900+p->tm_year,1+p->tm_mon,p->tm_mday);

fp = fopen(fname, "w");
总是在 t = time(NULL);
p = gmtime(&t);提示有错误?请问这是什么啊 ?
展开
 我来答
m7j14h6
2012-09-15 · TA获得超过1221个赞
知道大有可为答主
回答量:1927
采纳率:80%
帮助的人:630万
展开全部
报什么错呢?贴出来看看,把你那段其他程序段也完整贴出来,如果需要保密,你可以把部分内容省略,但结构不要变。会不会t的定义不在该段呢? 变量有它的生存区间,出了区间,出现一个未定义的变量,那肯定会报错。关键要看错误代码,完整代码,把不影响的代码直接注释掉。
追问
哦,后来,我弄好了,我把
FILE *fp = NULL;

这个语句弄到后边就错了,但不知道为什么不能到 t = time(NULL);
p = gmtime(&t);
这2个语句的后边?您能帮我把上边的程序语句的作用一一做个标志吗?不
太懂各行的作用啊
追答
C语言和其他不一样,定义变量可以在语句段中的任何地方。
C语言对变量的规定是先定义,后使用。
一但有了语句,后面就不能再定义。
这两句就是语句段了,
t = time(NULL);
p = gmtime(&t);
后面就不能再定义变量了。
对某个常用的函数(方法)的用法,可以去参考MSDN。那里面很全,而且有例子,编程不懂的地方先查MSDN,然后再请教其他人哦。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式