请问C语言中,如何把一个字母加在一个字符串末尾?

例如 char text[] = {"Hello"}; char c = 'a'
如何使text成为"Helloa"?

text容量已经固定了而且是常指针,strcat也没办法。
一种比较危险的办法是边界溢出,text[len(text)]=c;text[sizeof(text)+1]='\0'
虽然这样做无疑是埋了一枚定时炸弹不过小程序还是一种很方便的处理方法。

安全的做法是用malloc开辟足够的空间char* text2=(char*)malloc(sizeof(text)+1);text2=text;strcat(text2,"c");
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-14
text[] = {"Hello"};你这 样定义字符串常量,是不能再增加长度了。
只能改变内容。
第2个回答  2008-08-14
不可以 现在text是 char[5] 不能再增加了
第3个回答  2008-08-14
第一种
strcat(text,&c); // binlaniua的应该是 &c
第二种
text[strlen(text)] = c; // sascsy的应该是strlen
text[strlen(text)+1] = '\0'; // 最好不用sizeof

边界溢出是不可避免的了,注意看下sascsy,他说得对
第4个回答  2008-08-14
char c="a";
strcat(text,c);

就可以了

请问C语言中,如何把一个字母加在一个字符串末尾?
安全的做法是用malloc开辟足够的空间char* text2=(char*)malloc(sizeof(text)+1);text2=text;strcat(text2,"c");

用c语言编程“把1字符串数组加到另一字符串数组后面”
include "string.h"int main(){ char ch1[50],ch2[50];int n;printf("输入两个字符串:");scanf("%s %s",ch1,ch2);printf("%s\\n%s\\n",ch1,ch2);n=strlen(ch1);\/\/方法1:strcat(ch1,ch2);printf("%s\\n",ch1);\/\/方法2 for(int i=0;i<=strlen(ch2);i++)ch1[i+n]=ch2[i...

(c语言)拼接字符
在C语言中,拼接字符可以使用字符串函数`strcat`来实现。该函数用于将一个字符串附加到另一个字符串的末尾。以下是使用`strcat`函数拼接字符的示例代码:c include include \/\/ 需要包含字符串处理函数库 int main { char str1[50] = "Hello"; \/\/ 第一个字符串 char str2[] = " World!"; \/...

怎样将一个字符串拷贝到另一个字符串的末尾?
中间还要加一个空格……C语言有一个函数为strcat(str1,str2);它的作用就是将str2连到str1以后 如果要中间要有空格的话就strcat(string1," ");strcat(string1,string);两句即可

C语言 字符串怎么加结束标志
1、首先我们打开C语言编辑软件。2、然后我们点开“文件”,“新建”,进入界面以后,我们新建一个C的文件。3、我们要知道C语言中的字符串结束标志是字符‘\\0‘。通常情况下我们有两种办法去输出结束标志。4、直接使用字符‘\\0’来输出结束标志。5、我们还可以利用ASCII码,'\\0'的ASCII码是0,所以...

用C语言求出某一个字符在某一字符串中最后出现的位置
i,n;char m;char a[10];gets(a);printf("你输入的字符串\\n");puts(a);printf("请输入要查询的字符\\n");scanf("%c",&m);n=0;for(i=0;i<10;i++){ if(m==a[i])n=i+1;} printf("该字符最后一次出现位于该字符串的%d位",n);如果还有不懂的可以直接问我,祝你成功!

C语言问题:写一个函数,将一个字符串中的元音字母复制到另一字符串后面...
void input(char st[]);\/\/定义输入函数 void output(char st[]);\/\/定义输出函数 void letter(char x[],char y[]);\/\/定义元音复制函数 int main(){ char s1[20],s2[10];input(s1);\/\/调用输入函数 letter(s1,s2);\/\/调用元音复制函数 output(s2);\/\/调用输出函数 return 0;} \/\/输入...

strcat的作用
1. 基本概念 strcat是C语言中的一个标准库函数,其全称为“string concatenate”,即字符串连接。该函数用于将一个字符串连接到另一个字符串的末尾。2. 函数原型及参数 strcat的函数原型为:char *strcat;其中,dest是目标字符串,src是源字符串。函数会将src字符串的内容追加到dest的尾部...

c语言 如何将一个字符串的前n个字母后移至尾,其他的按顺序前移?
include <string.h>\/\/为了使用memcpy、strlen等字符串函数 define N 5 int main(){ char a[] = "abcdefghijk";int i, j, m;char b[N+1] = {'\\0'};\/\/b将成为一个中间储存数组 memcpy(b, a, N);\/\/把a的前N个字符复制到b中,存起来,以供后面使用 m = strlen(a)+1;\/\/得出a...

c语言 Q2将字符串s2中所有未出现在s1中的字母添加到s1的末尾,然后输出...
"输入字符串s2:"); gets(s2); printf("结果:%s\\n", addat(s1, s2));}include <stdio.h>#include <string.h>#include <stdlib.h>struct stu {char id[5];char name[20];int course1;int course2;int course3;};void main(){ char id[5], name[20];int a, b, c...

相似回答