C语言关于简单的字符串移位函数voidLoopMov
?C语言关于简单的字符串移位函数void LoopMove char *pStr, int steps #include "stdio.h"
#include "string.h"
#include
void LoopMove char *pStr, int steps int str_len; int shift_len; char *tmp_str NULL; str_len strlen pStr ; shift_len str_len-steps; tmp_str char * malloc sizeof char * str_len+1 ; if tmp_str NULL return; if steps str_len return; strncpy tmp_str, pStr+steps , shift_len ; strncpy tmp_str+shift_len, pStr, steps ; * tmp_str+str_len '\0'; strcpy pStr, tmp_str ; free tmp_str ; int main void int i; char *str; for i 0; i 20; i++ strcpy str, "hello,world!" ; LoopMove str, i ; printf "%s\n", str ; return 0; 输出结果:
hello,world!
ello,world!h
llo,world!he
lo,world!hel
o,world!hell
,world!hello
world!hello,
orld!hello,w
rld!hello,wo
ld!hello,wor
d!hello,worl
!hello,world
hello,world!
hello,world!
hello,world!
hello,world!
hello,world!
hello,world!
hello,world!
hello,world!