ちょっと、そこ!私はANSICの問題に悩まされていますが、これはかなり些細なことだと思います(少なくとも現代語ではそうです:/)。
私のスクリプトの(一時的な)目標は、タイムスタンプの分:秒(オーディオファイルの場合は120分でもかまいません)を表す6文字( "123:45")の文字列(charの配列)を分割することです。分とちょうど秒。
私はいくつかのアプローチを試しました。「:」を探す一般的なアプローチと、文字列をインデックスで分割するだけのハードコードされたアプローチですが、どれも機能しないようです。
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 );
}
もう1つの「面白い」ことは、char [3]の文字列の長さが6または9であり、実際には3ではないことです。これの何が問題になっていますか?