如果我有这段代码:
int main ()
{
char *string = "beach" ;
char newString[50];
strcpy(newString,string);
return(0);
}
运行后,newString
将成为“海滩”,对吗?如果我希望newString
成为“beach.jpg”,我应该怎么做?
感谢。
答案 0 :(得分:1)
坚持你的代码
int main ()
{
char *string = "beach" ;
char newString[50];
strcpy(newString,string);
strcat(newString,".jpg");
return(0);
}
我假设newString
中有足够的空间。
答案 1 :(得分:0)
如果您不想使用任何内置函数..
int i=0;
for(;newString[i]!='\0';i++);
newString[i++]='.';
newString[i++]='j';
newString[i++]='p';
newString[i++]='g';
newString[i]='\0';
如果您更喜欢使用内置功能,则可以包含此行。
strcat(newString,".jpg");
答案 2 :(得分:0)
您只需使用字符串文字初始化数组,然后使用标准库函数strcat
将".jpg"
附加到其中。确保数组string
足够大,否则strcat
可能会超出调用未定义行为的缓冲区。另请注意,return
不是函数。
#include <string.h>
#define MAX_LEN 50
int main(void) {
char string[MAX_LEN] = "beach";
strcat(string, ".jpg");
return 0;
}
答案 3 :(得分:0)
尝试:
strcat(strcpy(newstring, string), ".jpg");
始终记得确保新闻字符串中有足够的空间。
答案 4 :(得分:0)
int main ()
{
char *string = "beach" ;
char newString[50];
sprintf(newString,"%s.jpg",string);
printf("%s",newString);
return(0);
}
使用sprintf,您可以连接多个字符串。