C语言中字符串连接怎么解决?? C语言编程字符串连接问题

C\u8bed\u8a00\u5b57\u7b26\u4e32\u8fde\u63a5\u95ee\u9898

\u53ef\u4ee5\u4f7f\u7528\u7cfb\u7edf\u63d0\u4f9b\u7684\u51fd\u6570strcat\uff0c\u82e5\u8981\u81ea\u5df1\u5b9e\u73b0\u7684\u8bdd\u601d\u8def\u5982\u4e0b\uff1a 1.\u83b7\u5f97\u4e24\u4e2a\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\uff0c\u76f8\u52a0\uff0c\u5f00\u8f9f\u4e00\u4e2a\u957f\u5ea6\u4e3a\u524d\u9762\u4e24\u4e2a\u5b57\u7b26\u4e32\u957f\u5ea6\u548c\u7684\u6570\u7ec4\uff1b 2.\u5c06\u4e24\u4e2a\u5b57\u7b26\u4e32\u4e2d\u7684\u503c\u4f9d\u6b21\u8d4b\u503c\u5230\u65b0\u7684\u5b57\u7b26\u4e32\u4e2d\u3002

\u6211\u6655~\u592a\u7b80\u5355\u4e86~\u6211\u80fd\u7528\u6bd4\u522b\u4eba\u7b80\u53551\u4e07\u500d\u7684\u65b9\u6cd5\u5b9e\u73b0:
\u5148\u8bf4StrCatenate\u662f\u4ec0\u4e48\u610f\u601d,StrCatenate\u4e2d\u7684Str\u662fString(\u5b57\u7b26\u4e32)\u7684\u7f29\u5199,Catenate\u82f1\u6587\u610f\u601d\u662f"\u8fde\u63a5",\u5408\u8d77\u6765\u5c31\u662f"\u5b57\u7b26\u4e32\u8fde\u63a5"\u7684\u610f\u601d.
\u4ee3\u7801\u5982\u4e0b:

#include
char *StrCatenate(char *str1,char *str2)
{
return ( strcat( str1,str2 ) );
}
// \u6ce8\u610f:\u4e00\u5171\u67094\u884c,\u7b2c\u4e00\u53e5 #include \u5343\u4e07\u4e0d\u80fd\u5c11!!!!

\u4e0a\u9762\u7684\u4ee3\u7801\u6211\u5728VC++6.0\u4e2d\u7f16\u8bd1\u8fde\u63a5,\u6d4b\u8bd5\u6210\u529f~\u5982\u679c\u4e0d\u5bf9,\u6211\u5c31\u628a\u663e\u793a\u5c4f\u5403\u4e86~\u5982\u679c\u9898\u76ee\u8981\u6c42\u5982\u4f60\u6240\u8bf4\u90a3\u4e48\u7b80\u5355,\u90a3\u4e48\u4f60\u62ff\u8fd9\u6bb5\u4ee3\u7801\u53bb\u7ed9\u8001\u5e08\u770b~\u8001\u5e08\u8981\u4e0d\u5938\u4f60\u662f\u4e2a\u5929\u624d\u6211\u628a\u4e3b\u673a\u4e5f\u5403\u4e86~~~

可以使用字符串连接函数strcat()函数,头文件是#include<string.h>;

举例如下:

两个字符串char [100]="abc",b[50]="def";

将其变为一个字符串并输出

#include<stdio.h>

#include<string.h>

int main()

{

char a[100]="abc",b[50]="def";

strcat(a,b);

printf("%s
",a);

}

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。



#include<string.h>

char a[10]="123";

char b[10]="abc";

char c[20];

strcpy(c,a); //把串a复制到有足够空间的c中

strcat(c,b); //把b连接到c的串尾

扩展资料:

需要注意的事项

c的长度一定要能够容纳要转换的数字的长度,比如下面的例子,c的长度至少为8(“1234567”+“\0”)

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

void main()

{

char a[20]="number:";

char c[10];

itoa(1234567,c,10);

strcat(a,c);

printf("%s
",a);

}

这个时候用sprintf,而且不会因为C99问题而无法使用

#include <stdio.h>

void main()

{

char a[8]="0123";

char* b = "4567";

int d = 89;

char c[30]="会从第一个字符开始覆盖";

sprintf(c,"a是:%s,b是:%s,c是:%d",a,b,d);

printf("%s
",c);

}



可以使用系统提供的函数strcat,若要自己实现的话思路如下:
1.获得两个字符串的长度,相加,开辟一个长度为前面两个字符串长度和的数组;
2.将两个字符串中的值依次赋值到新的字符串中。

原型
  extern char *strcat(char *dest,char *src);
用法
  #include <string.h>
功能
  把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明
  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   返回指向dest的指针。

用法和楼上差不多 不过strcpy会覆盖前面的字符串,连接的话用strcat


void strcat(char str1,char str2)
{
int i,j;
for(i=0;str1[i]!=0;i++);
for(j=0;str2[j]!=0;j++)
{
str1[i]=str2[j];
i++;
}
str1[i]=0;
}

这是我写的,C的<string.h>库中有这个函数,我写这个函数是为了让你看清楚连接的原理。

  • C璇█涓瓧绗︿覆杩炴帴鎬庝箞瑙e喅??
    绛旓細include<string.h> char a[10]="123";char b[10]="abc";char c[20];strcpy(c,a); //鎶婁覆a澶嶅埗鍒版湁瓒冲绌洪棿鐨刢涓 strcat(c,b); //鎶奲杩炴帴鍒c鐨涓插熬
  • C璇█涓瓧绗︿覆杩炴帴鎬庝箞瑙e喅??
    绛旓細鍙互浣跨敤瀛楃涓茶繛鎺ュ嚱鏁皊trcat()鍑芥暟锛屽ご鏂囦欢鏄#include<string.h>;涓句緥濡備笅锛氫袱涓瓧绗︿覆char [100]="abc",b[50]="def";灏嗗叾鍙樹负涓涓瓧绗︿覆骞惰緭鍑 include<stdio.h> include<string.h> int main(){ char a[100]="abc",b[50]="def";strcat(a,b);printf("%s\n",a);} ...
  • C璇█涓瓧绗︿覆杩炴帴鎬庝箞瑙e喅??
    绛旓細鍙互浣跨敤绯荤粺鎻愪緵鐨勫嚱鏁皊trcat锛岃嫢瑕佽嚜宸卞疄鐜扮殑璇濇濊矾濡備笅锛1.鑾峰緱涓や釜瀛楃涓茬殑闀垮害锛岀浉鍔狅紝寮杈熶竴涓暱搴︿负鍓嶉潰涓や釜瀛楃涓查暱搴﹀拰鐨勬暟缁勶紱2.灏嗕袱涓瓧绗︿覆涓殑鍊间緷娆¤祴鍊煎埌鏂扮殑瀛楃涓蹭腑銆
  • c璇█缂栫▼ 瑕佺敤鎸囬拡鎶婁袱涓瀛楃涓茶繛鎺璧锋潵, 鎴戣繖涔堢紪鐨涓嶇煡閬撳摢閿欎簡...
    绛旓細璇硶鏈夐敊璇紝鍙互鎸夌収濡備笅鏂规硶瀹炵幇鐢ㄦ寚閽堟妸涓や釜瀛楃涓茶繛鎺璧锋潵锛1銆佺涓姝ワ紝鍒涘缓涓涓柊椤圭洰鍜.c鏂囦欢锛岃涓嬪浘锛岃浆鍒颁笅闈㈢殑姝ラ銆2銆佺浜屾锛屾墽琛屽畬涓婇潰鐨勬搷浣滀箣鍚庯紝瀹氫箟鍙橀噺绫诲瀷锛岃涓嬪浘鐨勪唬鐮侊紝杞埌涓嬮潰鐨勬楠ゃ3銆佺涓夋锛屾墽琛屽畬涓婇潰鐨勬搷浣滀箣鍚庯紝璋冪敤cpy鍑芥暟锛岃涓嬪浘鐨勪唬鐮侊紝杞埌涓嬮潰鐨勬楠ゃ4銆佺鍥...
  • C璇█涓庝箞鏍灏嗕袱涓瀛楃涓茶繛鎺璧锋潵
    绛旓細1)绠鍗曟潵锛鐩存帴鐢 strcat 鍑芥暟锛岄渶瑕佸寘鍚ご鏂囦欢 string.h2)鑷繁瀹炵幇鐨勮瘽涔熶笉楹荤儲锛屼絾鏄鑰冭檻涓浜涚粏鑺傦細鍋囪涓や釜瀛楃涓叉寚閽堜负 str1锛宻tr2 锛岀幇鍦ㄨ璁 str1 鍜 str2 杩炴帴鎴愪竴涓柊鐨勫瓧绗︿覆銆俛.鑰冭檻鎸囬拡 str1,str2 鏄惁闈炵┖b.濡傛灉灏唖tr2鐨勫唴瀹圭洿鎺ヨ繛鎺ュ埌str1鐨勬湯灏撅紝瑕佽冭檻str1鏄惁鏈夎冻澶熺殑鍓╀綑...
  • ...濡備綍杩愮敤璋冪敤鍑芥暟鎶婁袱涓笉鍚鐨勫瓧绗︿覆杩炴帴璧锋潵,骞朵笖杩樻槸鏁扮粍鐨勫舰寮...
    绛旓細void strcat(char str1,char str2){ int i,j;for(i=0;str1[i]!=0;i++);for(j=0;str2[j]!=0;j++){ str1[i]=str2[j];i++;} str1[i]=0;} 杩欐槸鎴戝啓鐨勶紝C鐨<string.h>搴撲腑鏈夎繖涓嚱鏁帮紝鎴戝啓杩欎釜鍑芥暟鏄负浜嗚浣犵湅娓呮杩炴帴鐨鍘熺悊銆
  • C璇█缂栫▼:杈撳叆2涓瀛楃涓,灏嗗叾杩炴帴鍚庤緭鍑.
    绛旓細鎬濊矾锛氫袱涓瓧绗︿覆鐨勬嫾鎺ュ彲浠ヤ娇鐢╯trcat鍑芥暟銆俿trcat鍑芥暟鍘熷瀷锛 char *strcat(char *s1,char *s2);闇瑕佸紩鍏ュご鏂囦欢锛#include <string.h> 鍔熻兘锛氭妸s2鎵鎸囧瓧绗︿覆娣诲姞鍒皊1缁撳熬澶勫苟娣诲姞'\0'銆傛敞鎰忥細s1蹇呴』鏈夎冻澶熺殑绌洪棿鏉ュ绾硈1鍜宻2鐨勫瓧绗︿覆銆傚弬鑰冧唬鐮侊細include "stdio.h" #include "string.h" int ...
  • C璇█鏀归敊 瀛楃涓茬殑杩炴帴?
    绛旓細鎶妚oid strc(char s, char t)涓殑char s鏀规垚char *s銆傛妸void strc(char s, char t)涓殑char t鏀规垚char *t銆傛妸while (*t = *s)涓殑*t鏀规垚*t++銆傛妸while (*t = *s)涓殑*s鏀规垚*s++銆
  • c璇█! 缂栦竴绋嬪簭,灏嗕袱涓瀛楃涓茶繛鎺璧锋潵,涓嶈鐢╯trcat鍑芥暟.
    绛旓細鎬濊矾锛瀛楃涓茶繛鎺鍏堥渶瑕佹壘鍒扮涓瀛楃涓茬殑缁撴潫浣嶇疆锛屾帴鐫鎶婄浜屽瓧绗︿覆鍏冪礌鏀惧埌绗竴瀛楃涓插悗闈紝鏈鍚庡姞涓婄粨鏉熸爣蹇楀嵆鍙傚弬鑰冧唬鐮侊細鎷兼帴123鍜456 include<stdio.h>void mystrcat(char a[],char b[]){//瀛楃涓茶繛鎺ュ嚱鏁 int i=0,j=0;while(a[i++]!='\0');//鎵惧埌a鐨勭粨鏉熶綅缃 i--;while(b[j...
  • ...涓茬殑杩炴帴(涓嶄娇鐢ㄥ簱鍑芥暟strcat).杩欎釜鐢C璇█鎬庝箞鍐欑▼搴忓晩姹傝缁嗚В閲...
    绛旓細void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=鈥橽0鈥; i++); /*姹傚嚭鐨刬涓簆A瀛楃鐨勬婚暱搴︼紝鍖呮嫭缁撴潫鏍囪浣*/ for (j=0;s2[j] !=鈥橽0鈥; j++)s1[i++]=s2[j]; /*灏唒B瀛楃涓茶繛鍦╬A瀛楃涓茬殑鍚庨潰*/ s1[i]='\0鈥; /*鍦ㄥ瓧绗︿覆鏈鍚庡姞涓婄粨鏉熸爣璁扮*...
  • 扩展阅读:c语言中字符串的截取 ... c语言中字符串函数 ... c语言中字符串是什么 ... c语言中字符是什么 ... 将两个字符串连接起来 ... c语言中字符相加 ... c语言中字符串的定义 ... c语言连接多个字符串 ... c语言两个字符串连在一起 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网