请你能给我一些将字符串转换为的想法,例如: char string[20]="www.msn.es" 到另一个字符串: 3www3msn2es0 。我只是想要一些想法,我应该使用 strstr 还是你可以用 char 指针和 bucles 来做。非常感谢,这是我第一次来这个论坛。
问问题
105 次
1 回答
1
这对我有用(请注意,它假设主机名中每个段的长度为 9 个字符或更少):
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv)
{
if (argc < 2)
{
printf("Usage: ./rr www.msn.es\n");
return 10;
}
char outbuf[256] = "\0";
const char * in = argv[1];
char * out = outbuf;
while(*in)
{
const char * nextDot = strchr(in, '.');
if (nextDot == NULL) nextDot = strchr(in, '\0');
*out++ = (nextDot-in)+'0';
strncpy(out, in, nextDot-in);
out += (nextDot-in);
if (*nextDot == '\0') break;
else in = nextDot+1;
}
*out++ = '0';
*out++ = '\0';
printf("%s\n", outbuf);
return 0;
}
于 2013-08-01T00:54:34.910 回答