我需要帮助,因为我完全被困在这里。对克里斯主义的任何想法都会非常有帮助。
我有字符串说“猫狗动物” 我想要像“狗猫动物”这样的字符串
我有点震惊。我知道在C中我可以使用strtok,但这会破坏字符串。 我想知道如何以上述格式存储该字符串。
由于
答案 0 :(得分:0)
您可以使用sscanf
,然后从3个扫描的子字符串重建字符串。
答案 1 :(得分:0)
将字符串的前2/3视为环形缓冲区并旋转其中的字符。
虽然它不是最有效的解决方案,但确实有效。 我发布了一些实际代码,但这听起来像是家庭作业。
修改
#include <string.h>
void function( char * s )
{
int second_dash = ( strrchr(s, '-') - s );
do
{
char t = s[second_dash];
memmove( s + 1, s, second_dash);
s[0] = t;
}
while ( s[second_dash] != '-' );
}
如果您的字符串库没有strrchr()或memmove(),则可以很容易地用循环替换它们。