-2
我必須修改.c程序,但我對c編程的知識非常有限。 如何將 輸入字符串'3.10.2014' 更改爲輸出字符串'2014-10-03'?如何將日期字符串更改爲其他日期字符串
char *in = '3.10.2014'
char *out = something(*in)
謝謝
我必須修改.c程序,但我對c編程的知識非常有限。 如何將 輸入字符串'3.10.2014' 更改爲輸出字符串'2014-10-03'?如何將日期字符串更改爲其他日期字符串
char *in = '3.10.2014'
char *out = something(*in)
謝謝
首先更改呼叫:
char date[] = "3.10.2014";
change_date(date);
這使得date
到一個數組,你可以實際修改,而不是一個字符串文字,你不能。
然後用change_date()
寫出change_date()
。 sscanf()
和sprintf()
:
void change_date(char *s)
{
int y, m, d;
if(sscanf(s, "%d.%d.%d", &d, &m, &y) == 3)
{
sprintf(s, "%d-%d-%d", y, m, d);
}
}
上面並沒有使用的%04d
一年來格式化,在被性能稍微不易損壞,如果可用的緩衝區空間太小的希望。
最好還接受size_t s_max
參數並使用snprintf()
,並有返回值。我選擇了簡潔。
謝謝! :)) – Muflix 2014-10-20 09:16:30