用c语言如何连接两个中文字符串?

作者&投稿:年蒲 (若有异议请与网页底部的电邮联系)
C语言中文字符串比较~

strstr(char *src, char *des)
查看在字符串src中是否包含des,如果包含返回des的位置
否则返回空

S楼主定义的数组a只有3个元素,最后连接的时候把a和b的一起往里面放,当然会出现内在错误.
再有scanf("%c",&a[i]);和scanf("%c",&b[i]);用这两个语句读取字符串很可能会出错的 可以在%和c之间加一个空格来解决,具体原因楼主可以查看一下scanf的原码
借用别人的一段代码:

#include
#include
void lianjie(char *p1,char *p2);/*字符串连接函数,连接后保存在p1中*/
int longth(char *p);/*判读字符串长度*/
int main()
{
char strfrom[50]="i am a good student";
char strto[20]=" i love c";
lianjie(strfrom,strto);
printf("%s",strfrom);
return 0;
}
void lianjie(char *p1,char *p2)
{
int i=0;int j=0;int k;
i=longth(p1);
j=longth(p2);
k=i+j;
for(j=0;i<k+1;j++)
{
*(p1+i)=*(p2+j);
i++;
}
}
int longth(char *p)
{
int i=0;
for (;*(p+i);i++);/*遇到\0,循环结束*/
return i;
}

查<wchar.h>中的函数.有多种方法.

例如可以用类似strcat函数的方法:
wchar_t *wcscat( wchar_t *strDestination, const wchar_t *strSource );

----------------------------------------------
中文字符编码有多种方法(GB,HZ,BIG5,..unicode)等.
上面的方法用于unicode.
连接两个中文字符串也可以用内部读写赋值等方法.也可先转换成unicode再处理.

用两个char存放一个汉字!然后还是按照strcat的方法连接!

#include <stdio.h>
#include <stdlib.h>

int main()
{
char str[3];
int altnum;

fgets(str,3,stdin);
altnum = (str[0]&0xFF)*256 + (str[1]&0xFF);
printf("%d",altnum);

system("PAUSE");
return 0;
}

c++如何输入输出中文
答:ifstream ifile("f:\\test.txt",ios::in);char carr[55] = { 0 };if (!ifile){ cout << "open err";} else ifile.getline(carr, sizeof(carr));cout << carr;return;

c语言中表示或者的符号“||”在电脑上怎么打出来?
答:同时按住【shift】键和【\】键,按两下就好。【\】键在键盘右边enter键上方,如下图,上面也标有“|”符号。C语言中其名称为逻辑“或”,与其并列的逻辑运算符还有:逻辑“与”运算符(&&)、逻辑“非”运算符(!)。

怎么在C语言里用printf输出一个中文
答:一般情况下,应用程序采用的字符集为gbk, gb2312,该字符集中一个汉字由两个字节组成,所以在普通的C语言中,汉字是按字符串进行存储和输出的。(另:还有utf8字符集,一个汉字由三个字节组成,详情可查阅utf8字符集)char * p = "张三";输出多个中文:printf("%s\n", p ); //按字符串输出...

C语言中,怎么用数组存中文?详见描述
答:这么定义是由于c语言中没有字符串数据类型 所以使用字符串时需要使用char的一维数组来表示字符串。所以字符串数组就是char的二维数组。按照你给的代码,正规的C编译器会编译错误的。字符串是用"来界定的。处理中文可以用char或wchar_t include <stdio.h>int main(void){char Name[3][5] = {"张三...

用C语言实现:从键盘输入汉字(中文的哦),然后输出就好啦
答:include <stdio.h> int main(){ char str[128];scanf("%s" , str );printf("%s\n",str );return 0;}

在c语言中,我想输入一个中文名字,然后再输出我的中文名字,怎么弄?_百度...
答:include<stdio.h> char name[40];A(){ printf("");scanf("%s",&name);printf("%s",name);} main(){ A();}

C语言问题,如何将中文放进字符数组
答:你也可以直接char *p[4]={"李四","张三","黄生","二傻子"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。 热心网友| 发布于2013-09-01 评论 9 5 C语言中存放中文需要用字符串需要使用字符数组如 a[10]={'h','e','l','l','o','/0'}你这种存放方法可以使用二维数组a[0][10...

c语言如何判断两个中文字符串相同
答://strcmp对中文比较识别度不高,自己编代码写 include <stdio.h> include <stdlib.h> include <string.h> int cmp(char *a,char *b){ int i=0;while(a[i]!='\0'){ if(a[i]!=b[i])return 0;i++;} return 1;} int main(){ char a[100],b[100];while(~scanf("%s %s",...

c语言中如何同时输出汉子 数字
答:第一种方法:将汉字和数字全部作为字符输出。第二种方法:将汉字和数字分别输出,汉字作为字符。你的问题不太明白,不知道你的编译器是什么:如果是Win-TC,那么输出汉字就需要在变量定义之后,所有其他语句之前,加两条语句:system("graftabl 936");clrscr();这样就能输出中文。

c语言如何使用二维数组存储中文?
答:2009-11-27 C语言:怎么用数组存储中文名字! 22 2010-09-01 如何用C语言讲文本文件中储存的数据读入一个二维数组 14 2014-12-04 C语言如何把一维数组存放进二维数组中? 2011-10-09 c语言问题:c语言中二维数组在内存中怎样存储? 10 2011-11-23 C语言怎样将一维字符数组存放到二维数组中? 6 更多...