首页 > 其他分享 >字符函数和字符串函数:strcpy、strcat——《初学C语言第36天》

字符函数和字符串函数:strcpy、strcat——《初学C语言第36天》

时间:2023-12-23 19:01:07浏览次数:50  
标签:arr 函数 dest strcat C语言 char ++ 追加

////strcat(字符串追加)——>头文件:<string.h>

// strcat的功能就是:1.先找到目标字符串的结尾(\0)然后进行2.strcpy拷贝

// char* strcat(char* destination,const char* source)//括号里为两个地址,返回类型char*

//destination目的地  source源头,把源头的数据追加到目的地空间的末尾,\0不追加过去!!!!!

//1.源字符串必须以 '\0' 结束。

//2.目标空间必须有足够的大,能容纳下源字符串的内容。

//3.目标空间必须可修改。

//4.字符串不可以自己给自己追加

//5.strcat拷贝时,不会将源数据内容的\0追加过去

//6.模拟实现strcat


////1.2.3.

//#include<stdio.h>

//int main()

//{

// char arr[20] = "hellow  ";//目的地数据中含有两个空格,追加时并不会覆盖空格,并且打印时也会照常打印

// strcat(arr,"world");//源数据"world"中包含\0,但是追加时不会追加到目的地数据中。

// printf("%s\n",arr);

// return 0;

//}



////4.自己给自己追加(会覆盖自己,导致栈溢出和越界)

////两个指针同时操作一个字符串,当*dest找到 '\0' 之后,*src开始追加,当追加完一个字符后,

// *src往后走一位,*dest指向的 '\0'被覆盖,*dest就必须往后走一位,找到下一个'\0',

// 找到之后*src又开始追加,不断重复,导致程序崩溃。

//#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>

//#include<string.h>

//#include<assert.h>

//char* my_strcat(char* dest, const char* src)

//{

// char* ret = dest;//保存首字符地址

// assert(dest && src);

// while (*dest++ != '\0')//1.找dest中\0的位置

// {

//  dest++;

// }

// while (*dest++ = *src++)

// //2.此时的*dest++指的位置已经是\0的位置了,++即开始将源数据(*src++)追加(或拷贝)到目标的末尾处

// {

//  ;

// }

// return ret;

//}

//int main()

//{

// char arr[20] = "hellow  ";//目的地数据中含有两个空格,追加时并不会覆盖空格,并且打印时也会照常打印

// strcat(arr,arr);//源数据"world"中包含\0,但是追加时不会追加到目的地数据中。

// printf("%s\n", arr);

// return 0;

//}




////6.模拟实现strcat

//#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>

//#include<string.h>

//#include<assert.h>

//char* my_strcat(char* dest, const char* src)

//{

// char* ret = dest;//保存首字符地址

// assert(dest && src);

// while (*dest++ != '\0')//1.找dest中\0的位置

// {

//  dest++;

// }

// while (*dest++ = *src++)

// //2.此时的*dest++指的位置已经是\0的位置了,++即开始将源数据(*src++)追加(或拷贝)到目标的末尾处

// {

//  ;

// }

// return ret;

//}

//int main()

//{

// char arr[20] = "hellow  ";//目的地数据中含有两个空格,追加时并不会覆盖空格,并且打印时也会照常打印

// strcat(arr, "world");//源数据"world"中包含\0,但是追加时不会追加到目的地数据中。

// printf("%s\n", arr);

// return 0;

//}

标签:arr,函数,dest,strcat,C语言,char,++,追加
From: https://blog.51cto.com/KKhahaha/8945867

相关文章

  • 无涯教程-PL/SQL - 嵌套循环函数
    PL/SQL允许在另一个循环中使用一个循环,以下部分显示了一些示例来说明这一概念。PL/SQL中嵌套的基本LOOP语句的语法如下-LOOPSequenceofstatements1LOOPSequenceofstatements2ENDLOOP;ENDLOOP;PL/SQL中嵌套的FORLOOP语句的语法如下-FORcount......
  • 无涯教程-PL/SQL - FOR函数
    FORLOOP是一种重复控制结构,可让您有效地编写需要执行特定次数的循环。FORLOOP-语法FORcounterINinitial_value..final_valueLOOPsequence_of_statements;ENDLOOP;FORLOOP-示例DECLAREanumber(2);BEGINFORain10..20LOOPdbm......
  • C++ --- 函数重载
    什么是函数重载函数重载: 是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。函数重载是C++在C语言基础上进行的改进,解决了C语言同名函数无法服务不同类型......
  • 箭头函数
    箭头函数1.this是静态的,永远指向函数声明时所在作用域的this值,比如在全局作用域下,箭头函数的this就是window;2.箭头函数没有构造函数;3.箭头函数没有参数arguments;4.箭头函数的还可以进一步简写:​ 1).当且仅当只有一个参数时,可以省略小括号;​ 2).当且仅当函数体只有一......
  • 无涯教程-PL/SQL - WHILE函数
    只要给定条件为真,PL/SQL编程语言中的WHILELOOP语句就会重复执行目标语句。WHILELOOP-语法WHILEconditionLOOPsequence_of_statementsENDLOOP;WHILELOOP-示例DECLAREanumber(2):=10;BEGINWHILEa<20LOOPdbms_output.put_line('......
  • 基于TigerBot-13b训练其函数调用能力
    写在前面原生的tigerbot似乎并不支持函数调用,于是我来支持一下 数据集我在huggingface上找了个英文的数据集https://huggingface.co/datasets/sadmoseby/sample-function-call这里面包含了1k组的函数调用,这个数据集的特点如下:1.包含有单个/多个/没有函数调用的情形2.......
  • 无涯教程-PL/SQL - nested IF-THEN-ELSE函数
    在PL/SQL编程中,将IF-ELSE语句嵌套通常是合法的,这意味着您可以在其中使用一个IF或ELSEIF语句另一个IF或ELSEIF语句。嵌套IF-THEN-ELSE-语法IF(boolean_expression1)THEN--executeswhenthebooleanexpression1istrueIF(boolean_expression2)......
  • 无涯教程-PL/SQL - LOOP函数
    基本的循环结构在LOOP和ENDLOOP语句之间包含语句序列。BasicLOOP-语法PL/SQL编程语言中基本循环的语法是-LOOPSequenceofstatements;ENDLOOP;在此,一个或多个语句的序列可以是单个语句或语句块,需要EXIT语句或EXITWHEN语句才能中断循环。BasicLOOP-......
  • 无涯教程-PL/SQL - Searched CASE 语句函数
    搜索的CASE语句没有选择器,并且该语句的WHEN子句包含提供布尔值的搜索条件。SearchedCASE-语法PL/SQL中搜索到的case语句的语法为-CASEWHENselector='value1'THENS1;WHENselector='value2'THENS2;WHENselector='value3'THENS3;...ELSESn......
  • 无涯教程-PL/SQL - IF-THEN-ELSIF 语句函数
    IF-THEN-ELSIF语句允许您在几种选择之间进行选择,IF-THEN 语句后可以是可选的ELSIF...ELSE语句,ELSIF子句允许您添加其他条件。IF-THEN-ELSIF-语法PL/SQL编程语言中的IF-THEN-ELSIF语句的语法为-IF(boolean_expression1)THENS1;--Executeswhentheboo......