[英]If function f() returns a pointer, which is correct: auto* v = f() OR auto v = 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\0";
mark.close();
第一個引用的塊以兩種不同的格式將今天的日期插入到兩個已經初始化的char緩沖區中,然后將它們存儲到字符串中,第二部分將所有內容寫入文件。 date
格式為YYYY-MM-DD(%F), longdate
格式為月DD,YYYY(%B%d,%Y)。 問題是當使用%F(使用debug確定)時,strftime無法向char緩沖區寫入任何內容。 如果我將%F更改為同義語法“%Y-%m-%d”,則返回年份和月份,但日期是兩個符號,這些符號由g ++輸出。 令人困惑的是, longdate
完美的作品,所以它不是有問題timeinfo
。 有任何想法嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.