| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 600 人关注过本帖
标题:日志处理文件名问题坐等高手!!!
只看楼主 加入收藏
doing8
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-6-15
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:8 
日志处理文件名问题坐等高手!!!
void rizhichuli(char str[20],char str1[50])
{
    FILE *pf;
    char tmpbuf[9],tmpbuf1[9];
    _strdate( tmpbuf );  //取当天日期
    pf=fopen("D:/trans/Log_Data/_strdate().Log","a");
    fprintf(pf,"%-20s",str);
    fprintf(pf,"%-20s",str1);
    fprintf(pf,"%-20s","已完成");
    fprintf(pf,"%10s",tmpbuf);
    _strtime( tmpbuf1 );
    fprintf(pf,"%15s\n",tmpbuf1);
    //_strdate( tmpbuf );
}

我想让建立的文件名为 当天的日期
例如今天文件名就是 12/07/08
pf=fopen("D:/trans/Log_Data/_strdate().Log","a");
这个因该怎么改
搜索更多相关主题的帖子: void 
2012-07-08 14:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
拼字符串呗,把文件名拼出来就行了。但我建议你最好不要使用诸如"/"、"\"之类的符号。

授人以渔,不授人以鱼。
2012-07-08 16:11
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
转为字符串
2012-07-08 16:22
doing8
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-6-15
收藏
得分:0 
我想要实现的是 今天是 7月8号  处理过的 东西都存在此日志里面
然后到了 明天 再处理 他就自动重新建立一个 7月9号的处理日志

2012-07-08 16:34
mfh
Rank: 6Rank: 6
等 级:侠之大者
帖 子:179
专家分:411
注 册:2009-5-31
收藏
得分:0 
pf=fopen("D:/trans/Log_Data/_strdate().Log","a");---------这里有问题呀!
2012-07-09 14:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
既然不答话,继续坐等吧。

授人以渔,不授人以鱼。
2012-07-09 20:06
doing8
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-6-15
收藏
得分:0 
   以下是引用TonyDeng在2012-7-9 20:06:35的发言:

      既然不答话,继续坐等吧。  


    昨天晚上就没关注了 不好意思 今天想起来了 就是拼字符串

    建议很到位 已经实现了 用strcat连接 整个文件名字符 就搞定了。。。

    版主的提醒的“ / ”“ \ ” 让我避免了一个蛋疼的 错误;
                                                                                                                                                                                                                                                                                                                                                                                                                    
2012-07-09 21:02
doing8
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-6-15
收藏
得分:0 
实现的代码

因为选择了  _strdate( tmpbuf ); 函数 注定 蛋疼


void rizhichuli(char str[20],char str1[10])
{
    FILE *pf;
    char tmpbuf[9],tmpbuf1[9],tok[3][10],ct[9];
    char s[80]="D:/trans/Log_Data/";
    char s1[20]=".Log";
    char seps[]="/";
    char *token;
    int i=0;
    _strdate( tmpbuf );
    strcpy(ct,tmpbuf);
    _strtime( tmpbuf1 );

    token=strtok(tmpbuf,seps);

    while(token!=NULL)
    {
        strcpy(tok[i++],token);
        token=strtok(NULL,seps);
    }

    strcat(s,"20");
    strcat(s,tok[2]);
    strcat(s,tok[0]);
    strcat(s,tok[1]);
    strcat(s,s1);
    pf=fopen(s,"a");
    fprintf(pf,"%-20s",str);
    fprintf(pf,"%-10s",str1);
    fprintf(pf,"%-10s","已完成");
    fprintf(pf,"%-10s",ct);
    fprintf(pf,"%-10s\n",tmpbuf1);
    fclose(pf);

    //strtok
}
2012-07-09 21:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
搞定就好。'/'和'\'在不同的系统中,都可能是目录分隔符,你用这个作文件名,会有问题的,最好不要用这样的字符。

授人以渔,不授人以鱼。
2012-07-09 22:44
快速回复:日志处理文件名问题坐等高手!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023807 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved