Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何复制字符串并向新字符串添加更多单词?_C_String - Fatal编程技术网

C 如何复制字符串并向新字符串添加更多单词?

C 如何复制字符串并向新字符串添加更多单词?,c,string,C,String,如果我有此代码: int main () { char *string = "beach" ; char newString[50]; strcpy(newString,string); return(0); } 运行后,newString将成为“beach”,对吗?如果我想newString成为“beach.jpg”,我应该怎么做 谢谢。如果您不想使用任何内置函数 int i=0; for(;newString[i]!='\0';i++); newString

如果我有此代码:

int main ()
{
    char *string = "beach" ;
    char newString[50];
    strcpy(newString,string);
    return(0);
}
运行后,
newString
将成为“beach”,对吗?如果我想
newString
成为“beach.jpg”,我应该怎么做


谢谢。

如果您不想使用任何内置函数

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");

您只需使用字符串文本初始化数组,然后使用标准库函数
strcat
向其追加
“.jpg”
。确保数组
string
足够大,否则
strcat
可能会调用未定义的行为使缓冲区溢出。另外,请注意,
返回
不是一个函数

#include <string.h>
#define MAX_LEN 50

int main(void) {
    char string[MAX_LEN] = "beach";
    strcat(string, ".jpg");

    return 0;
}
#包括
#定义最大长度50
内部主(空){
字符字符串[MAX_LEN]=“beach”;
strcat(字符串,“.jpg”);
返回0;
}
试试:

strcat(strcpy(newstring, string), ".jpg");

始终记住确保新闻字符串中有足够的空间

坚持使用您的代码

int main ()
{
    char *string = "beach" ;
    char newString[50];
    strcpy(newString,string);
    strcat(newString,".jpg");
    return(0);
}
这里我假设
新闻字符串中有足够的空间

int main ()
{
    char *string = "beach" ;
    char newString[50];
    sprintf(newString,"%s.jpg",string);
    printf("%s",newString);
    return(0);
}

使用sprintf,您可以连接多个字符串。

此答案将不使用任何内置函数,而另一个答案不使用内置函数。。删除。