- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int u_strlen(char*,const int);
- char* u_repeat(const char*,const int);
- int main(){
- char a[200] = {'\\0'};
- scanf("%s", a);
- char *b = NULL;
- b = u_repeat(a,2);
- printf("%s-%d\\n", b, strlen(b));
- free(b);
- return 0;
- }
- char* u_repeat(const char *str,const int size){
- if(str==NULL || size<=0) return NULL;
- int i = 0;
- int slen = strlen(str);
- char *dest = calloc(slen*size+1,sizeof(char));
- memset(dest,0,slen*size*sizeof(char));
- for(i=0;i<size;i++){
- memcpy(dest+i, str, slen);
- }
- return dest;
- }
- int u_strlen(char *str, const int maxLen){
- if(str==NULL || maxLen<=0) return 0;
- int i = 0;
- for(i=0;i<maxLen;i++){
- if(*(str+i)=='\\0'){
- break;
- }
- }
- return i;
- }
来源: http://www.codesnippet.cn/detail/0912201411205.html