
一个关于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);提示有错误?请问这是什么啊 ? 展开
#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);提示有错误?请问这是什么啊 ? 展开
展开全部
报什么错呢?贴出来看看,把你那段其他程序段也完整贴出来,如果需要保密,你可以把部分内容省略,但结构不要变。会不会t的定义不在该段呢? 变量有它的生存区间,出了区间,出现一个未定义的变量,那肯定会报错。关键要看错误代码,完整代码,把不影响的代码直接注释掉。
追问
哦,后来,我弄好了,我把
FILE *fp = NULL;
这个语句弄到后边就错了,但不知道为什么不能到 t = time(NULL);
p = gmtime(&t);
这2个语句的后边?您能帮我把上边的程序语句的作用一一做个标志吗?不
太懂各行的作用啊
追答
C语言和其他不一样,定义变量可以在语句段中的任何地方。
C语言对变量的规定是先定义,后使用。
一但有了语句,后面就不能再定义。
这两句就是语句段了,
t = time(NULL);
p = gmtime(&t);
后面就不能再定义变量了。
对某个常用的函数(方法)的用法,可以去参考MSDN。那里面很全,而且有例子,编程不懂的地方先查MSDN,然后再请教其他人哦。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询