Привет!
Я застрял в проблеме ANSI C , которая, на мой взгляд, должна быть довольно тривиальной (по крайней мере, на любом современном языке: /).
(временная) цель моего сценария - разделить строку (массив символов) из 6 символов («123: 45»), которая представляет метку времени минуты: секунды (для аудиофайлов, поэтому нормально иметь 120 минут) в минуты и секунды.
Я попробовал несколько подходов - общий с поиском «:» и жестко закодированный, просто разбивающий строку по индексам, но ни один из них, похоже, не работает.
void _splitstr ( char *instr, int index, char *outstr ) {
char temp[3];
int i;
int strl = strlen ( instr );
if ( index == 0 ) {
for ( i = 0; i < 3; ++i ) {
if ( temp[i] != '\0' ) {
temp[i] = instr[i];
}
}
} else if ( index == 1 ) {
for ( i = 6; i > 3; i-- ) {
temp[i] = instr[i];
}
}
strcpy ( outstr, temp );
}
Еще одна «забавная» вещь заключается в том, что длина строки символа [3] равна 6 или 9 и никогда не равна 3. Что с этим не так?