C语言string操作
2024-09-01 20:09:19
创建方式
- 字符数组:空间已定
- 字符指针:未分配空间
初始化
- 字符数组:
- 创建与赋值必须在同一行
- 指定大小:未填满部分用'\0'填充
- 用字符串初始化:末尾自动添加'\0'
- 不初始化赋值则乱值
- 字符指针:
- 创建与赋值可以不在同一行
- 未分配空间,故不可直接gets(str)
相关函数
- strlen():字符串大小
- strlen(charArray):忽略字符数组中的'\0'
- sizeof():类型大小
- sizeof(charArray):数组元素个数,'\0'也算
- sizeof(charPointer):指针字节数 == 8
- strcmp():字符串比较
- strlen(charArray, ...):只比较内容,字符数组中可以无'\0'
- strcpy():字符串赋值
- strcpy(str1, str2):把str2内容赋给str1
- strtok():字符串切分
- strtok(str1, char* tag):将str1按tag划分
- 示例代码
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
char strs[100][100];
int i,n=0;
gets(str);
/*遍历方式*/
char* p = strtok(str, " ");
while(p)
{
strcpy(strs[n++], p);
p = strtok(NULL, " ");
}
for(i = 0; i < n; i++)
printf("%s\n",strs[i]);
}
#include<stdio.h>
#include<string.h>
int main()
{
char a[] = {'a','b','c'};
char *b ;
char c[] = {'a','b','c','\0'};
b = "abc";
int i,j;
printf("%d\n", strlen(a));
printf("%d\n", strlen(b));
printf("%d\n\n", strlen(c));
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(b));
printf("%d\n", sizeof(c));
printf("%d\n\n", strcmp(a,c));
for(i = 0; i < strlen(b); i++)
printf("%c ", b[i]);
}
最新文章
- 判断是否是有效的IPV4地址
- jQuery Pagination分页插件的使用
- jmeter 监控服务器的内存,cpu等内容
- [转]Linux日志文件总管——logrotate
- oracle过程中动态语句实现
- 使用FindFirstFile,FindNextFile遍历一个文件夹
- 【转发】centos 7安装完后出现please make your choice from &#39;1&#39; ......
- C++中不可重载的5个运算符
- C#中使用SelectionStart属性指定输入框光标位置
- adhoc-海量数据多维自助即席查询平台-mdrill项目开源啦
- VS2008中Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted 错误解决方法
- python中的map、filter、reduce函数
- Jquery之Bind方法参数传递与接收的三种方法
- DBNavigator1 按钮标题中文 提示中文
- Python学习笔记–Chapter 2
- Javascript高级编程学习笔记(74)—— 表单(2)表单提交及重置
- Asp.Net WebApi 项目及依赖整理
- IP路由配置之---------dhcp服务器配置
- 凸优化&;非凸优化问题
- shell 脚本传参