快捷搜索:  汽车  科技

c语言编写的程序代码(编写C语言程序的时候)

c语言编写的程序代码(编写C语言程序的时候)是将s2字符数组中的字符连接到s1字符数组中,拼接字符串的作用,一样的遇到\0则结束;代码如下所示:同样的定义两个字符数组,strcat(s1 s2);同样的定义两个字符数组,strncpy(s1 s2 n);作用是将s2中的前n个字符拷贝至s1中,如果拷贝过程中不足n个,遇到\0拷贝则结束。代码如下所示:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = ""; char s2[128] = "hel\0lo"; strncpy(s1 s2 4); int i = 0; while (i < 4) { printf("[%c ]" s1[i]);

常见的处理字符串函数有如下:

c语言编写的程序代码(编写C语言程序的时候)(1)

1、strcpy函数:

先定义两个字符数组,分别代表s1和s2,则:strcpy(s1 s2);

作用是将s2的字符拷贝至s1数组当中,有个注意的地方是s2遇到\0会结束,同时会将\0拷贝进s1中;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = "hello"; char s2[128] = "world"; strcpy(s1 s2); printf("%s" s1); // 结果为:world return 0; }

2、strncpy函数:

同样的定义两个字符数组,strncpy(s1 s2 n);

作用是将s2中的前n个字符拷贝至s1中,如果拷贝过程中不足n个,遇到\0拷贝则结束。代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = ""; char s2[128] = "hel\0lo"; strncpy(s1 s2 4); int i = 0; while (i < 4) { printf("[%c ]" s1[i]); // [h ][e ][l ][ ] i ; } return 0; }

3、strcat函数:

同样的定义两个字符数组,strcat(s1 s2);

是将s2字符数组中的字符连接到s1字符数组中,拼接字符串的作用,一样的遇到\0则结束;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = "hello"; char s2[128] = "world"; strcat(s1 s2); printf("%s\n" s1); // helloworld return 0; }

4、strncat函数:

同样的定义两个字符数组,strncat(s1 s2 n);

是将s2字符数组中的n个字符连接到s1字符数组中,拼接字符串的作用,一样的遇到\0则结束。代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = "hello"; char s2[128] = "world"; strncat(s1 s2 3); printf("%s\n" s1); // hellowor return 0; }

5、strcmp函数:

同样的定义两个字符数组,strcmp(s1 s2);

为比较函数,两个字符比较时,如果遇到\0则结束比较;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = "hello"; char s2[128] = "world"; printf("%d\n" strcmp(s1 s2)); // 返回值为-1。表示s1 < s2 return 0; }

6、strncmp函数:

同样的定义两个字符数组,strcmp(s1 s2 n);

为比较函数,两个字符比较时,如果遇到\0则结束比较;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[128] = "hello"; char s2[128] = "hello"; printf("%d\n" strncmp(s1 s2 5)); // 返回值为0。表示s1 == s2 return 0; }

总结以上两个比较函数,“strcmp”,“strncmp”。s1 s2两个数组中各拿出一个元素进行比较,相等则继续往后比较,根据的是字符的ASCII值进行比较,如果 "s1> s2" 则返回1,"s1 == s2" 返回0,"s1 < s2" 则返回-1。

7、sprintf函数:

同样的我先定义一个字符数组为c1 格式为:sprintf(c1 "格式" "数据");

作用是将数据按照格式组包,存放在数组c1中,需要注意的是 “sprintf函数”的返回值是组完包的有效长度;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ int age = 30; char c1[1024] = ""; int length = sprintf(c1 "age=%d" age); printf("length = %d\n" length); // 组完包有效长度为:6 printf("c1 = [%s]" c1); // c1 = [age=30] return 0; }

8、sscanf函数:

同样的我先定义一个字符数组为c1 格式为:sscanf(c1 "格式" 数据);

作用是将c1的内容格式化输出到数据中;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ int age = 0; char c1[128] = "小华:20"; sscanf(c1 "小华:%d" &age); //从c1中按照相应的格式获取数据 printf("小华今年%d岁了!\n" age); return 0; }

注意和scanf函数的区别是:scanf("%d" &age); 是从键盘按照相应的格式获取数据;

9、strchr函数:

同样的我先定义一个字符数组为s1 格式为:strchr(s1 ch);

作用让在s1字符数组中查找字符ch出现的位置,如果成功返回此字符出现位置的地址,如果没有找到,则就返回NULL。代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[] = "hello"; char *p = strchr(s1 't'); printf("%s\n" p); // 没找到,返回(null) return 0; }

如图结果所示:

c语言编写的程序代码(编写C语言程序的时候)(2)

10、strstr函数:

同样的我先定义两个字符数组分别为s1 s2 格式为:strstr(s1 s2);

作用让在s1字符数组中查找s2字符串出现的位置,并且返回这个位置的地址。代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[] = "helloaabbccworld"; char s2[] = "cc"; char *p = strstr(s1 s2); printf("%s\n" p); // ccworld return 0; }

11、strtok函数:

同样的我先定义两个字符数组分别为s1 s2 格式为:strtok(s1 "切割的目标");

作用是让在s1中将@切割,返回切割前面的字符串;代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main(){ char s1[] = "abcdefg#@123456"; char *p = strtok(s1 "@"); // 在s1中将@切割 返回切割前面的字符串 printf("%s\n" p); // abcdefg# return 0; }

12、atoi,atof,atol,atoll等函数:

同样的我先定义两个字符数组分别为a1 a2; 函数的作用分别是:

(1)、atoi函数:可以将字符串转整数;

(2)、atof函数:可以将字符串转float类型的数据;

(3)、atol函数:可以将字符串转long类型的数据;

(4)、atoll函数:可以将字符串转long long类型的数据。

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char a1[] = "10"; char a2[] = "22.22"; // atoi int num1 = atoi(a1); printf("%d\n" num1); // 10 // atof float num2 = atof(a2); printf("%0.2f\n" num2); // 22.22 // atol long num3 = atol(a1); printf("%ld\n" num3); // 10 // atoll long long num4 = atoll(a1); printf("%lld\n" num4); // 10 return 0; }

猜您喜欢: