万网网站建设特点,网站页面设计考虑要素,公司网站建设的分类,高端html5网站建设linux-字符串函数使用 输入输出长度大小拼接拷贝填充查找比较 字符串的输入#xff0c;输出#xff0c;长度#xff0c;大小#xff0c;拼接#xff0c;拷贝#xff0c;填充#xff0c;查找#xff0c;比较
输入
相关的函数有#xff1a; gets()、getchar()、fgetc(… linux-字符串函数使用 输入输出长度大小拼接拷贝填充查找比较 字符串的输入输出长度大小拼接拷贝填充查找比较
输入
相关的函数有 gets()、getchar()、fgetc()、fgets() 、scanf()。 s输入字符串, char/c输入字符, f可以是标准输入也可以是文件中获取 //gets 获取字符串给str 标准输入gets(str);puts(str); //将str输出出来//fgets 获取输入的字符串 标准输入 和 文件输入fp fopen(./test1.txt,a); //打开或创建test.txt文件在末尾进行写入fgets(str2,8,fp); //sizeof(str2) 个数printf(%s\n,str2);fclose(fp);//fgetc 获取输入的字符 标准输入 和 文件输入fp fopen(./test1.txt,a);ch fgetc(fp); //sizeof(str2) 个数printf(%c\n,ch);fclose(fp);//fseek() 移动光标fp fopen(./test1.txt,a);fseek(fp,3,SEEK_SET);chfgetc(fp);printf(%c\n,ch);fclose(fp);输出
相关的函数有putchar(),puts(),fputc(),fputs(),printf();
putchar(a); //输出单个字符 到标准输出设备 puts(hello world!); //输出字符串 到标准输出设备 自动换行//与putchar类似输出单个字符到标准输出设备//不同的是还可以输出到指定文件fputc(a,fp); //指定文件fputc(a,stdout);//到终端 标准输出设备例子FILE *fp NULL;if((fp fopen(./test1.txt,w)) NULL )
{perror(fopen err);exit(-1);
}fputc(a,fp); //向文件输出puts(fputc写入成功);fputc(a,stdout); //向终端输出fputc(\n,stdout);fclose(fp);//与puts()类似输出字符串到标准输出设备
//不同的是还可以输出到指定文件
fputs(bcdefj,fp); //向文件输出
fputs(bcdefj,stdout); //到终端 标准输出设备
例子
FILE *fp NULL;
if((fp fopen(./test1.txt,a)) NULL )
{perror(fopen err);exit(-1);
}fputs(bcdefjhigklmn,fp); //向文件输出puts(fputs写入成功);fputs(bcd,stdout);fclose(fp);长度
求字符串长度–strlen() 库函数 长度 char str[]zxcvbnmasdfghjklqwertyuiop;printf(string:\%s\\n,str);printf(Length:\ %ld\\n,strlen(str));puts(----------);/* 输出string:zxcvbnmasdfghjklqwertyuiopLength: 26----------*/大小
求数据类型或变量占用内存的大小–sizeof() c语音中的关键字 内存 char str2[50]hellow;char *ptr str2;printf(sizeof: %ld\n, sizeof(str2));printf(strlen: %ld\n, strlen(str2));puts(~~~~~);printf(sizeof: %ld\n, sizeof(ptr));printf(strlen: %ld\n, strlen(ptr));printf(int-sizeof: %ld\n, sizeof(int)); //4printf(char-sizeof: %ld\n, sizeof(char)); //1puts(----------);/* 输出sizeof: 50strlen: 6~~~~~sizeof: 8strlen: 6int-sizeof: 4char-sizeof: 1----------
*/拼接
字符串拼接–strcat() strncat() strcat(str1,str2)—将str2全部放到str1后面。 strncat(str1,str2,num)—将str2前num个放到str1后面。 char str3[50]hellow ;char str3_1[]world !;puts(strcat函数全部追加);strcat(str3,str3_1); //在最后进行添加printf(拼接后字符串为\%s\\n,str3);puts(~~~~~);memset(str3,0x0,7); //str3字符串清零puts(strncat函数追加的数量);strncat(str3,str3_1,5); //指定添加的个数printf(拼接后字符串为\%s\\n,str3);puts(----------);
/* 输出strcat函数全部追加拼接后字符串为hellow world !~~~~~strncat函数追加的数量拼接后字符串为world
*/拷贝
字符串拷贝 strcpy() strncpy() strcpy(str1,str2)—将字符串str2全部拷贝到str1。 strncpy(str1,str2,num)—将字符串str2前num个数据拷贝到str1。 都是从头开始拷贝的没涉及到的位置保持不变。 char str4[50];char str4_1[]hellow world;puts(strcpy函数 全部复制);strcpy(str4,str4_1);printf(复制后str4: \%s\\n,str4);puts(~~~~~);memset(str4,g,20); //将str4字符串前20位置为g;puts(strcpy函数 复制的数量);strncpy(str4,str4_1,6);printf(复制后str4: \%s\\n,str4);puts(----------);
/* 输出strcpy函数 全部复制复制后str4: hellow world~~~~~strcpy函数 复制的数量复制后str4: hellowgggggggggggggggg----------
*/填充
字符串填充 memset() bzero() memset(str,dat,len)—把str里的数据从头开始填充数据datdat会被转换为 unsigned char 类型,共填充len个字节。 bzero(str,len)—将str字符串前len个字节给清零。 char str5[50]22222222222;printf(str5: %s\n, str5);memset(str5,3,strlen(str5));printf(memset: %s\n, str5);bzero(str5,strlen(str5));printf(bzero: %s\n,str5);puts(----------);
/* 输出str5: 22222222222memset: 33333333333bzero: ----------
*/ 查找
字符串查找 strstr() strchr() strrchr() char *strstr(const char *str1, const char *str2)—在字符串str1中查找第一次出现字符串str2的位置并返回指向该位置的指针。如果没有找到则返回NULL。 char *strchr(const char *s, int c) —在字符串s中查找第一次出现字符c的位置并返回指向该位置的指针。 char *strrchr(const char *s, int c)-—在字符串s中查找最后一次出现字符c的位置并返回指向该位置的指针 char str6[]hello world;char *p strstr(str6,world);if(p! NULL)printf(strstr函数: %s\n,p);elseprintf(strstr函数: 没有找到\n);puts(----------);
/* 输出strstr函数: world
*/比较
字符串比较 strcmp() strncmp() memcmp() int strcmp(const char *s1, const char *s2)—比较s1和s2的大小按照对应想ASCII值来直到找到不同的字符串或其中一个字符串结束。s1小于s2返回一个负值。大于时返回一个正值。等于返回0。
int strncmp(const char *s1, const char *s2, size_t n)—比较字符串s1和s2的前n个字符的大小。比较方式与strcmp相同。
int memcmp(const void *s1, const void *s2, size_t n)—比较从s1和s2开始的n个字节的内存区域。比较是按照字节进行的返回值与strcmp类似。 char str7[]hello;char str7_1[]world;printf(strcmp函数: %d\n,strcmp(str7,str7_1));printf(strncmp函数: %d\n,strncmp(str7,str7_1,5));printf(memcmp函数: %d\n,memcmp(str7,str7_1,5));puts(----------);
/* 输出strcmp函数: -120strncmp函数: -120memcmp函数: -1----------
*/