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(s);
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
说明:
【8】宽字符版本,当使用unicode宽字符文本时,使用这个函数 _getws();
puts
功 能: 送一字符串到流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');
{
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;
}
}