大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > C/C++语言 > 大宇:C编程 > [001.22]字符串数组定义

[001.22]字符串数组定义

发布时间:2018/07/30 大宇:C编程 标签字符串阅读:55

字符数组定义

char buf[100];

对于C语言字符串其实就是一个最后一个元素为’\0’的char数组.

字符数组初始化

char str[10]={"helloWorld"};

字符数组使用

str[i]

随机数产生函数rand与srand

头文件stdlib.h
#include <time.h>
int t = (int)time(NULL);
srand(t);
for (int i = 0; i < 10; i++)
{
	printf("%d\n", rand());
}

用scanf输入字符串

scanf("%d",i)

字符串的结束标志

'\0'

字符串处理函数

gets

gets没有解决缓冲区溢出的问题,但可以接收空格

fgets函数

gets函数不检查预留缓冲区是否能够容纳用户实际输入的数据。多出来的字符会导致内存溢出,fgets函数改进了这个问题。

由于fgets函数是为读取文件设计的,所以读取键盘时没有gets那么方便,会读取回车键

char s[100] = { 0 };
fgets(s, sizeof(s), stdin);

puts函数

puts函数打印字符串,与printf不同,puts会在最后自动添加一个’\n’

char s[] = "hello world";
puts(s);

fputs函数

fputs是puts的文件操作版本

char s[] = "hello world";
fputs(s, stdout);

strlen,字符串长度

strlen返回字符串的长度,但是不包含字符串结尾的’\0’

strcat,字符串追加

strcat(a,b);//会把b追加到a的后面,a必须有足够的控件来追加

strncat,字符串有限追加

strncat(a,b,sizeof(a)-strlen(a)-1);//安全函数

strcmp,字符串比较

strcmp(a, “str”);//如果两个参数所指的字符串内容相同,函数返回0

strncmp,字符串有限比较

strncmp(a,"exit",4);//安全函数

strcpy字符串拷贝

strcpy(a,b);//将b的数据拷贝覆盖到a上面去

strncpy字符串有限拷贝

strcpy(a,b,n);//安全拷贝

sprintf,格式化字符串

printf是向屏幕输出一个字符串

sprintf是向char数组输出一个字符串,其他行为和printf一模一样

strchr查找字符

char c=strchr(a,'c');//从a中查找'c'字符,找到返回字符位置指针。没找到返回空

strstr查找子串

查找字符串

strtok分割字符串

字符在第一次调用时strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL每次调用成功则返回指向被分割出片段的指针

atoi转化为int

atoi("123");//将字符串转换为int类型

atof转化为float

atof("123.0");//将字符串转换为float类型数据

atol转化为long

atol("123");//将字符串转换为long类型数据

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu

您好!请登录

合作网站快捷登录:
点击取消回复

已有0评论

    大宇博客

    点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息