%F不返回任何输出
%F returns no output
我正在编写代码,以自动编写标记为我们的web服务器在工作中,我遇到了麻烦,试图实现使用<ctime>
头的strftime()
在文本文件中自动插入日期。以下是相关代码:
if (yen(raw_input))
{
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime(buf, 10, "%F", timeinfo);
strftime(cuf, 60, "%B %d, %Y", timeinfo);
date = buf;
longdate = cuf;
}
...
ofstream mark;
const string filename = name + date + ".txt";
mark.open(filename);
mark << "{s5_mp3}http://www.####DELETED####.org/media/s5_mp3/" << date << "_" << name_cf << "_Sermon.mp3" << "{s5_mp3}n";
mark << hon << " " << name << ": ";
if (is_series) {mark << series << ": ";}
mark << title << "n";
mark << verse << "n" << longdate << "n ";
mark.close();
第一个引号块以两种不同的格式将今天的日期插入到两个已经初始化的char缓冲区中,然后将它们存储到字符串中,第二个部分将所有内容写入到文件中。date
格式为"YYYY- mm -DD(%F)",longdate
格式为"Month DD, YYYY(%B %d, %Y)"。问题是当使用%F(通过调试确定)时,strftime无法向字符缓冲区写入任何内容。如果我将%F更改为同义语法"%Y-%m-%d",它将返回年和月,但日期是两个符号,它们被g++框掉了。令人困惑的部分是longdate
工作完美,所以这不是timeinfo
的问题。什么好主意吗?
您应该阅读strftime
的标准定义。特别是兼容性部分说%F
是:
在C99中引入(仅在c++ 11之后的c++实现中需要),遵从旧标准的库可能不支持
。
相关文章:
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 代码编译没有任何输出,入门程序
- 可能我知道为什么这段代码没有给出任何输出吗?
- 什么是现实中的"endl"(或任何输出操纵器)?它是如何实现的,它如何与操作员<<一起工
- 为什么下面的Hello World程序在PowerShell上没有显示任何输出?同一程序在CMD上显示正确的输出
- 执行此代码时,它不显示任何输出.为什么?
- 合并排序没有给我任何输出
- 编译器没有显示错误,但我没有得到任何输出.怎么了?
- 是给定代码中的任何更改,以便我可以为问题提供正确的输出
- 为什么我的代码在终端中没有输出任何内容.开始新行没有错误
- 无法输出任何内容
- 为什么这个程序不输出任何东西
- 函数不会从向量输出任何内容C++
- 提升 BCP 不输出任何文件?
- 按回车键后,程序没有输出任何结果.为什么会这样
- 任何 c++ 程序都不会输出任何内容
- 程序从不输出任何输出
- 为什么程序开头的cout语句没有输出任何东西?
- 为什么这个openGL代码没有输出任何东西
- 为什么signalhandler不输出任何东西?