strcpy() strcat() strcmp() gets() puts()

strcpy函数  
原型声明:extern char *strcpy(char* dest, const char *src);
头文件:#include <string.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针

strcmp

原型:extern int strcmp(const char *s1,const char * s2);
所在头文件:string.h
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1<s2时,返回值<0
当s1==s2时,返回值=0
当s1>s2时,返回值>0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。

strcat

原型

extern char *strcat(char *dest,char *src);

用法

#include <string.h>
在C++中,则存在于<cstring>头文件中。

功能

把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

说明

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针

sprintf

函数功能

把格式化的数据写入某个字符串缓冲区。

头文件

函数原型

int sprintf( char *buffer, const char *format, [ argument] … );

参数列表

buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)

gets

C:
#include "stdio.h" //这个头文件包含gets()函数
int main(void)
{
char str1[5];
gets(str1);
printf("%s\n", str1);
return 0;
}
C++:
#include<iostream>
using namespace std;
int main()
{
char str[100];
gets(str);
cout<<str<<endl;
return 0;
}
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
说明:
gets(s) 函数中的变量s为一字符串或字符指针。如果为单个字符,编译连接不会有错误,但运行后会出现”Null pointer asignment"的错误。
【8】宽字符版本,当使用unicode宽字符文本时,使用这个函数 _getws();

puts

puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
功 能: 送一字符串到流stdout中
用 法: int puts(char *string);
程序例:
#include <stdio.h>
int main(void)
{
char string[] = "This is an example output string\n";
puts(string);
return 0;
}
初学者要注意以下例子
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char string[20];
for(i=0;i<10;i++)
string[i]='a';
puts(string);
getch();
return 0;
}
从此例中可看到puts输出字符串时要遇到'\0’也就是字符结束符才停止。如上面的程序加上一句 string[10]='\0';
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char string[20];
for(i=0;i<10;i++)
string[i]='a';
string[10]='\0';
puts(string);
getch();
return 0;
}
运行就正确了
说明:
puts 和 printf 的用法一样,puts()函数的作用与语句“printf("%s\n",s);的作用相同。注意:puts在输出字符串后回车符。
puts()函数只能输出字符串,不能数值或进行格式变换。
可以将字符串直接写入puts()函数中,输出至屏幕。如:puts("Hello,Turo C2.0:");
puts()函数的一种实现方案如下:
int puts(const char * string)
  {
  const char * t = string;
  const char * v = string;
  int i = 0;
  while(*t!='\0')
  {
  i++;
  t++;
  }
  int j = 0;
  for(j;j<=i;j++)
  putchar((v[j]));
  putchar('\n');
return 0;
  }

原文链接: https://www.cnblogs.com/byxzbg/archive/2013/06/09/3128037.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    strcpy() strcat() strcmp() gets() puts()

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/91760

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午1:19
下一篇 2023年2月10日 上午1:19

相关推荐