在 C 中,"at" 在我打印字符串后签名
In C , "at" sign after i print a string
我写了一个函数,在 'i' 位置的字符串中插入一个子字符串,但我遇到了问题。当位置 i ={ 1 or 2 or 3 } 时,在我打印最后一个字符串后,一个 '@' 符号出现在 'i' positon
void insert_sir(char *s , char inserted_s[20] , int pos )
{
char result_s[30] ;
strncpy(result_s,s,pos - 1);
strcat(result_s,inserted_s);
strcat(result_s,s + pos - 1);
printf("%s",result_s);
}
您需要初始化您的字符数组,否则您将从内存中获取随机数据。您可以轻松地使用 memset()
函数来用相同的字符填充数组。在这种情况下,我用空值填充它,以便 printf 仅输出所需的文本,因为空值是标准终止字符。
void insert_sir(char *s , char inserted_s[20] , int pos )
{
char result_s[30] ;
memset(result_s,0,30);
strncpy(result_s,s,pos - 1);
strcat(result_s,inserted_s);
strcat(result_s,s + pos - 1);
printf("%s",result_s);
}
我写了一个函数,在 'i' 位置的字符串中插入一个子字符串,但我遇到了问题。当位置 i ={ 1 or 2 or 3 } 时,在我打印最后一个字符串后,一个 '@' 符号出现在 'i' positon
void insert_sir(char *s , char inserted_s[20] , int pos )
{
char result_s[30] ;
strncpy(result_s,s,pos - 1);
strcat(result_s,inserted_s);
strcat(result_s,s + pos - 1);
printf("%s",result_s);
}
您需要初始化您的字符数组,否则您将从内存中获取随机数据。您可以轻松地使用 memset()
函数来用相同的字符填充数组。在这种情况下,我用空值填充它,以便 printf 仅输出所需的文本,因为空值是标准终止字符。
void insert_sir(char *s , char inserted_s[20] , int pos )
{
char result_s[30] ;
memset(result_s,0,30);
strncpy(result_s,s,pos - 1);
strcat(result_s,inserted_s);
strcat(result_s,s + pos - 1);
printf("%s",result_s);
}