原谅我的天真,我只是第一次学习C。基本上,我有一系列包含“ HH:MM:SS”格式的时间戳的字符串。我正在寻找一种形式为int tsconvert(char *)的函数,该函数可以将时间戳转换为整数。这是我到目前为止编写的一些代码
int tsconvert(char *timestamp)
{
int x;
removeColon(timestamp,8);
x = atoi(timestamp);
return x;
}
void removeColon(char *str1, int len)
{
int j = 0;
for (int i = 0; i < len; i++)
{
if (str1[i] == ':')
{
continue;
}
else
{
str1[j] = str1[i];
j++;
}
}
str1[j] = '\0';
}
但是,当我尝试使用此代码时,出现了细分错误。我编程班的一位同学建议我只是从时间戳中提取数字,然后将它们放在新的字符串中,但是我不确定该怎么做。
要从时间戳(HH:MM:SS)中提取数字,只需使用sscanf():
const char *str = "01:02:03";
int h, m, s;
sscanf(str, "%d:%d:%d", &h, &m, &s);
printf ("%d, %d, %d\n", h, m, s);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句