C 字符串连接细节
当string2出现在string1中的指定位置时,两个字符串之间是否有连接的函数/通用方法 如果问题不够清楚,请看以下示例:C 字符串连接细节,c,string,concatenation,stdout,C,String,Concatenation,Stdout,当string2出现在string1中的指定位置时,两个字符串之间是否有连接的函数/通用方法 如果问题不够清楚,请看以下示例: #include <stdio.h> #include <string.h> int main(void) { char str[100] = "I love Gyros"; concatenate(&str[2], "dont "); printf(str); return 0; } 当stri
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[100] = "I love Gyros";
concatenate(&str[2], "dont ");
printf(str);
return 0;
}
当string2出现在string1中的指定位置时,两个字符串之间是否有连接的函数/通用方法
不,没有
您可以使用多种方法完成您正在尝试的任务。一种方法是使用sprintf
char str[100];
sprintf(str,"I %s love Gyros", "don't");
另一种方法是将str
的内容向右移动所需的量,然后设置中间元素的值
#include <stdio.h>
#include <string.h>
void insertInString(char* str1, size_t pos, char const* str2)
{
size_t len1 = strlen(str1);
size_t len2 = strlen(str2);
size_t i = 0;
// Shift the contents of str1
for ( i = len1; i >= pos; --i )
{
str1[i+len2] = str1[i];
}
// Now place the contents of str2 starting from pos
for ( i = 0; i < len2; ++i )
{
str1[i+pos] = str2[i];
}
}
int main()
{
char str[100] = "I love Gyros";
insertInString(str, 2, "don't ");
printf("%s\n", str);
return 0;
}
#包括
#包括
无效插入安装(字符*str1,大小\u t位置,字符常量*str2)
{
尺寸1=标准长度(标准长度1);
尺寸2=标准长度(标准长度2);
尺寸i=0;
//转移str1的内容
对于(i=len1;i>=pos;--i)
{
str1[i+len2]=str1[i];
}
//现在从pos开始放置str2的内容
对于(i=0;i
当string2出现在string1中的指定位置时,两个字符串之间是否有连接的函数/通用方法
不,没有
您可以使用多种方法完成您正在尝试的任务。一种方法是使用sprintf
char str[100];
sprintf(str,"I %s love Gyros", "don't");
另一种方法是将str
的内容向右移动所需的量,然后设置中间元素的值
#include <stdio.h>
#include <string.h>
void insertInString(char* str1, size_t pos, char const* str2)
{
size_t len1 = strlen(str1);
size_t len2 = strlen(str2);
size_t i = 0;
// Shift the contents of str1
for ( i = len1; i >= pos; --i )
{
str1[i+len2] = str1[i];
}
// Now place the contents of str2 starting from pos
for ( i = 0; i < len2; ++i )
{
str1[i+pos] = str2[i];
}
}
int main()
{
char str[100] = "I love Gyros";
insertInString(str, 2, "don't ");
printf("%s\n", str);
return 0;
}
#包括
#包括
无效插入安装(字符*str1,大小\u t位置,字符常量*str2)
{
尺寸1=标准长度(标准长度1);
尺寸2=标准长度(标准长度2);
尺寸i=0;
//转移str1的内容
对于(i=len1;i>=pos;--i)
{
str1[i+len2]=str1[i];
}
//现在从pos开始放置str2的内容
对于(i=0;i
没有函数可以执行您想要的操作。
与其让函数串接(这对它来说非常重要),不如让函数插入带有原型的短语。。。
字符*插入短语(字符*字符串,字符*短语,单词后的大小);
你的例子现在应该是
插入短语(str,“不要”,1)
要想使连接函数真正发挥作用,需要在将don't插入str之前对这两个参数进行词法分析。没有函数可以执行您想要的操作。 与其让函数串接(这对它来说非常重要),不如让函数插入带有原型的短语。。。 字符*插入短语(字符*字符串,字符*短语,单词后的大小); 你的例子现在应该是 插入短语(str,“不要”,1)
您的连接函数要真正发挥作用,需要在将don't插入str之前对这两个参数进行词法分析。啊,是的,谢谢。我建造这个来满足我的实际需要。啊,是的,谢谢。我建造这个来满足我的实际需要。