c++-不用strcat函数,实现字符串的连接,如把字符串1连接到字符串2的尾部

问题描述

不用strcat函数,实现字符串的连接,如把字符串1连接到字符串2的尾部

//输出的结果中有错误
//如输入china,chinese,输出chinachiΓFnese;
#include
using namespace std;

void link(char str1[],char str2[])
{

for(int i=0,j=0;str2[j]!='';i++,j++)
{
while(str1[i]!='')
{
i++;
}
str1[i]=str2[j];
}

}

int main ()
{
char str1[180];
char str2[180];
cout<<"输入字符串1"<
cin>>str1;
cout<<"请输入字符串2"<
cin>>str2;
link(str1,str2);
cout<<"把str1与str2连接后的字符串是"<<str1;
return 0;
}

解决方案

这样修改link函数
void link2(char str1[],char str2[])
{

for(int i=0,j=0;str2[j]!='';j++)
{
while(str1[i]!='')
{
i++;
}
str1[i]=str2[j];
str1[i+1]='';
}

}

解决方案二:

c++实现字符串strcat()连接

时间: 2024-11-16 04:59:24

c++-不用strcat函数,实现字符串的连接,如把字符串1连接到字符串2的尾部的相关文章

strcat 函数的使用指南_C 语言

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

c++-编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。

问题描述 编程实现两字符串的连接.要求使用字符数组保存字符串,不要使用系统函数. 编程实现两字符串的连接.定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出.用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝. #include using namespace std; int main() { char a[500]; char b[500]; cin>>a; for(int i=0;i if(

c++-C++随机读取文件,不用getline()函数怎么做

问题描述 C++随机读取文件,不用getline()函数怎么做 在文件保存数据,文件名为inputfile.txt,文件中的数据格式为: (a,n)-(a,n)(0,0) (a,n)-(a,n)(0,0) AND(#,#) 其中,a是double型数据,n是int型数据,两数之间使用逗号分隔,并用括号括起来.随机读取文件,要求以(0,0)分别作为第一次和第二次读取的结束.以(#,#)作为全部数据读取的结束标志.不用getline()函数,怎么做: 解决方案 文件读取之getline函数C++依次

php-PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串

问题描述 PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串 $result = $sap->callFunction( "XXX", array( array( "IMPORT", "I_ZCZLX", "1" ), array( "IMPORT", "I_WRITER", "MAO" ), array( "IMPORT&quo

java-Java求101到200的素数并输出 求大神看下哪里错了 能不能不用boolean函数改

问题描述 Java求101到200的素数并输出 求大神看下哪里错了 能不能不用boolean函数改 public class SuShu { public static void main(String[] args) { int i = 0; for(int a=101;a<200;a+=2) { for(int b=2;b<a;b++) { if(a%b!=0) { System.out.println(a); i++; } else{ break; } } } System.out.pr

mysql不用rand()函数实现随机读取数据库记录的方法

mysql教程不用rand()函数实现随机读取数据库教程记录的方法 ,以及google了一下相关的文件,发现大家几乎清一色使用 order by rand() 来达到该目的,但是实际上存在非常严重的性能问题. 如果你的数据库里只有几百条,且调用次数又不多的情况下,你爱用啥方法就用啥方法. 但如果你有10万或100万或更多条数据的话,那么每次执行带 order by rand() 的 sql 语句的时候,mysql服务器需要计算出10万或100万或更多个随机数,可想而知对数据库服务器的资源浪费有多

Oracle之3种表连接方式(排序合并连接、嵌套循环、哈希连接)

Oracle之3种表连接方式(排序合并连接.嵌套循环.哈希连接) 排序合并连接 1.2.4.2.1  排序合并连接 排序合并连接(Sort Merge Join)是一种两个表在做表连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的表连接方法. 如果两个表(这里将它们分别命名为表T1和表T2)在做表连接时使用的是排序合并连接,则Oracle会依次顺序执行如下步骤. (1)首先以目标SQL中指定的谓词条件(如果有的话)去访问表T1,然后对访问结果按照表T1中的连接列来排序,排好序

java 断开从连接池中获取的连接,规范的操作是怎样的

问题描述 java断开从连接池中获取的连接,规范的操作是怎样的,ResultSet,PreparedStatement,Connection是否需要依次关闭,若需要,应该怎么做才是高效率,规范,而且不会发生内存泄露.涉及到很多try和catch,不知怎么处理. 解决方案 解决方案二:ResultSet,PreparedStatement,Connection是否需要依次关闭需要应该怎么做才是高效率写一个函数用来关闭,如放在的帮助类JdbcUtil里,如publicstaticvoidreleas

link中为什么说字符串是只读的,但是我可以改变字符串,这是怎么回事?

问题描述 link中为什么说字符串是只读的,但是我可以改变字符串,这是怎么回事? link中为什么说字符串是只读的,但是我可以改变字符串,这是怎么回事? 解决方案 字符串本来就是只读的.但是它的运算符重载过了,所以用+连接字符串,或者用=赋值,会自动产生一个新的字符串,而不会改变之前的那个. 解决方案二: string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨,这篇文章分上