#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<string.h>
//void left_move(char*arr,int k)
//{
// assert(arr);
// int i = 0;
// int j = 0;
// int sz = strlen(arr);
// for (j = 0; j < k; j++)
// {
// char tem = arr[0];
// for (i = 1; i < sz; i++)
// {
// arr[i - 1] = arr[i];
// }
// arr[i - 1] = tem;
// }
//}
//
//void reverse(char* arr, int i)
//{
// int left = 0;
// int right = i;
// while(left < right)
// {
// char tem = arr[left];
// arr[left] = arr[right];
// arr[right] = tem;
// left++;
// right--;
// }
//}
//void left_move1(char* arr, int k)
//{
// int sz = strlen(arr);
// //都传指针比较简单,不容易出错;
// assert(arr);
// assert(k<=sz);
// reverse(arr, k-1);//reverse(arr,arr+k-1);
// reverse(arr+k, sz-1-k);//reverse(arr,arr+sz-1);
// reverse(arr, sz-1);//reverse(arr,arr+sz-1);
//}
//int main()
//{
// char arr[] = "abcdef";
// left_move1(arr, 3);
// printf("%s", arr);
// return 0;
//}
//
//int compare(char* arr, char* arr1)
//{
// int len = strlen(arr);
// int i = 0;
// for (i = 0; i < len; i++)
// {
// left_move1(arr, 1);
// if (*arr == *arr1)
// return 1;
// }
// return 0;
//}
//int main()
//{
// char arr[] = "abcdef";
// char arr1[] = "bcdefa";
// int i = compare(arr,arr1);
// if (i == 1)
// printf("yes");
// if (i == 0)
// printf("no");
// return 0;
//}
//1.在str1字符串中追加一个str1字符串;
//strcat(str1,str1);//err//找不到/0;
//strncat(str1,str1,len);//len限制了追加的字符串长度;
//2.判断str2指向的字符串是否是str1指向的字符串的子串;
//char * ret = strstr(str1,str2);
//int main()
//{
// char str1[30] = "abcdefg";
// char str2[] = "cde";
// char* ret = strstr(str1, str2);//返回的是c的地址。1
// int len = strlen(str1);
// strncat(str1, str1, len);
//
// printf("%s\n", str1);
// if (ret == NULL)
// printf("no\0");
// else
// printf("yes");
// return 0;
//}
//结果是呵呵,因为strlen的返回值是无符号值。
//int main()
//{
// if (strlen("abc") - strlen("abcdef") > 0)
// {
// printf("hehe\n");
// }
// else
// {
// printf("haha\n");
// }
// return 0;
//}
//长度不受限制的字符串函数
//int main()
//{
// char arr1[] = "abcdef";
// char arr2[] = "efg";
// const char* p1 =
// "abcdef";
// const char* p2 = "qwert";
// strcpy(arr1, arr2);//源头中必须包含/0;目的地的空间必须足够大,目标空间必须能修改;
// strcat(arr1, arr2);//源头中必须包含/0;目的地的空间必须足够大,目标空间必须能修改;
// strcmp(p1, p2);//比较的是首字母的ascll码值,如果相同比较后一位,直到/0;
// return 0;
//}
//长度受限制的字符串长度
//int main()
//{
// char arr1[] = "abcdef";
// char arr2[] = "efg";
// strncpy(arr1,arr2,3);
// strncat(arr1,arr2,2);
// strncmp(arr1,arr2,1);
// return 0;
//}
//#include<errno.h>
//int main()
//{
// //errno 是一个全局的错误码的变量
// //当C语言的库函数在执行过程中,发生了错误,就会把对应的错误码,赋值到errno中
//
// //char*str = strerror(errno);//打印错误信息;
// //printf("%s\n",str);
//
// //打开文件
// FILE* pf = fopen("test.txt","r");
//
// if (pf == NULL)
// {
// printf("%s\n", strerror(errno));
// }
// else
// {
// printf("open file success\n");
// }
// return 0;
//}
//int main()
//{
// char arr1[] = "abcdef";
// char arr2[] = "de";
// char* ret = strstr(arr1,arr2);//查找子串;
// printf("%s\n", ret);
// return 0;
//}
//int main()
//{
// char arr1[] = "abc.def.g.hbc.";
// char ch[] = ".";
// char* ret = strtok(arr1,ch);
// return 0;
//}
字符串函数的学习
最新推荐文章于 2024-07-18 11:54:47 发布