-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