c语言 将此字符串中从第一字符至第n字符中的空格 大写字母全部复制成为另一个字符

有一字符串 写一函数,将此字符串中从第一字符至第n字符中的空格 大写字母全部复制成为另一个字符串 只能用指针实现 不能用下标形式实现

#include <stdio.h>
#include <malloc.h>

char* Do ( char *in, int n )
{
int i = 0;
int count = 0;
char *ret = (char*) malloc ( n + 1 );
char *p = ret;
while ( i++ < n )
{
if ( *in == 0 ) break;
if ( *in == ' ' || ( *in >= 'A' && *in <= 'Z' ) )
{
*p++ = *in;
count++;
}
in++;
}
*p = 0;
ret = (char*) realloc ( ret, count + 1 );
return ret;
}

int main()
{
char in[] = "Hello World!\n";
char *out;
out = Do ( in, 10 );
printf ( "%s\n", out );
free ( out );
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网