嵌入式笔记:C语言标准库大全

您所在的位置:网站首页 c语言标准库大全 嵌入式笔记:C语言标准库大全

嵌入式笔记:C语言标准库大全

2023-10-31 17:26| 来源: 网络整理| 查看: 265

写出看起来专业的C代码,除了规范的变量/函数命名,还需要熟练使用C语言的标准库。当为了数组拷贝自己编写一个for循环的时候(可以用memcpy),其他读者看到这种代码,肯定会感叹程序员的C语言基础不行(为了优化空间除外)。

在本文中,我们将深入研究C语言标准库的不同部分,包括 、 ,以及 头文件中包含的函数。我们将介绍这些函数的功能、用途,以及提供的C代码示例,以便更好地理解和利用这些功能。

头文件

是C语言标准库中最重要的头文件之一,提供了输入和输出功能。以下是 中常见的一些函数:

1、printf:将格式化的数据输出到标准输出。int printf(const char *format, ...);这个函数允许您以指定的格式将数据输出到控制台。printf("Hello, %s!\n", "world");2、scanf:从标准输入中读取格式化的数据。int scanf(const char *format, ...);这个函数允许您从键盘等输入设备读取数据,并按照指定格式进行解析。int age;scanf("%d", &age);

3、fprintf:将格式化的数据输出到文件。

int fprintf(FILE *stream, const char *format, ...);

这个函数与 printf 类似,但将输出定向到文件而不是标准输出。

4、fscanf:从文件中读取格式化的数据。

int fscanf(FILE *stream, const char *format, ...);这个函数从文件中读取数据,并按照指定格式进行解析。

5、fopen:打开文件以进行读写操作。

FILE *fopen(const char *filename, const char *mode);这个函数用于打开文件,以便进行读取或写入操作。FILE *file = fopen("example.txt", "r");6、fclose:关闭文件。int fclose(FILE *stream);这个函数用于关闭已打开的文件。

7、fgets:从文件中读取一行数据。

char *fgets(char *s, int size, FILE *stream);

这个函数从文件中读取一行文本数据。

8、fputs:将字符串写入文件。int fputs(const char *s, FILE *stream);

这个函数将字符串写入文件。

9、fgetc:从文件中读取一个字符。int fgetc(FILE *stream);

这个函数用于逐字符读取文件内容。

10、fputc:将一个字符写入文件。int fputc(int c, FILE *stream);

这个函数将一个字符写入文件。

11、rewind:将文件指针移动到文件的开头。void rewind(FILE *stream);

这个函数用于将文件指针重新设置到文件的开头。

12、feof:检查文件结束标志。int feof(FILE *stream);这个函数用于检查文件是否已经到达了文件末尾。 头文件 是另一个重要的C语言标准库头文件,它包含了一组通用的实用函数,用于内存分配、随机数生成、排序等任务。以下是 中常见的一些函数:1、malloc:分配动态内存。void *malloc(size_t size);这个函数用于在堆上分配一块指定大小的内存。int *arr = (int *)malloc(5 * sizeof(int));2、calloc:分配并初始化动态内存。void *calloc(size_t num_elements, size_t element_size);这个函数用于分配一块指定大小的内存,并将所有字节初始化为零。int *arr = (int *)calloc(5, sizeof(int));3、realloc:重新分配动态内存的大小。void *realloc(void *ptr, size_t size);这个函数用于更改已分配内存块的大小。arr = (int *)realloc(arr, 10 * sizeof(int));4、free:释放动态分配的内存。void free(void *ptr);这个函数用于释放先前分配的内存块。free(arr);5、rand:生成伪随机数。int rand(void);这个函数用于生成一个伪随机整数。int random_number = rand();6、srand:设置随机数生成的种子。void srand(unsigned int seed);这个函数用于设置伪随机数生成的种子值。srand(42);7、abs:计算整数的绝对值。int abs(int n);这个函数用于计算整数的绝对值。int absolute_value = abs(-5);8、atoi:将字符串转换为整数。int atoi(const char *str);这个函数用于将字符串转换为整数。int number = atoi("42");9、atof:将字符串转换为浮点数。double atof(const char *str);这个函数用于将字符串转换为浮点数。double pi = atof("3.14159");10、exit:终止程序的执行。void exit(int status);这个函数用于正常或异常终止程序的执行。exit(0); // 正常退出

11、system:执行系统命令。

int system(const char *command);这个函数用于执行操作系统命令。system("ls -l");12、qsort:对数组进行快速排序。void qsort(void *base, size_t num_elements, size_t element_size, int (*compare_function)(const void *, const void *));这个函数用于对数组进行快速排序。int compare(const void *a, const void *b) {return (*(int *)a - *(int *)b);}int arr[] = {5, 2, 9, 1, 5};qsort(arr, 5, sizeof(int), compare);

头文件中的函数

头文件提供了处理字符串的函数,包括字符串复制、连接、比较等操作。以下是 中常见的一些函数:

1、strcpy:将一个字符串复制到另一个字符串。

char *strcpy(char *dest, const char *src);这个函数用于将一个字符串复制到另一个字符串。char destination[20];char source[] = "Hello, world!";strcpy(destination, source);

2、strcat:将一个字符串附加到另一个字符串。

char *strcat(char *dest, const char *src);这个函数用于将一个字符串附加到另一个字符串。char str1[20] = "Hello, ";char str2[] = "world!";strcat(str1, str2);

3、strlen:计算字符串的长度。

size_t strlen(const char *s);这个函数用于计算字符串的长度。char str[] = "Hello";size_t length = strlen(str);4、strcmp:比较两个字符串。int strcmp(const char *s1, const char *s2);这个函数用于比较两个字符串。char str1[] = "apple";char str2[] = "banana";int result = strcmp(str1, str2);5、strncmp:比较两个字符串的前 n 个字符。int strncmp(const char *s1, const char *s2, size_t n);这个函数用于比较两个字符串的前 n 个字符。char str1[] = "apple";char str2[] = "appetizer";int result = strncmp(str1, str2, 3);6、strchr:在字符串中查找指定字符的第一次出现。char *strchr(const char *s, int c);这个函数用于在字符串中查找指定字符的第一次出现。char str[] = "Hello, world!";char *result = strchr(str, 'w');7、strstr:在字符串中查找指定子字符串的第一次出现。char *strstr(const char *haystack, const char *needle);这个函数用于在字符串中查找指定子字符串的第一次出现。char str[] = "The quick brown fox";char *result = strstr(str, "brown");8、strtok:将字符串拆分为标记。char *strtok(char *str, const char *delimiters);这个函数用于将字符串拆分为标记。char str[] = "apple,banana,grape";char *token = strtok(str, ",");while (token != NULL) {printf("%s\n", token);token = strtok(NULL, ",");}

小 结

这些函数提供了对字符串、内存块和文件的常见操作,是C语言编程中的重要工具。通过使用这些函数,您可以高效地处理输入输出、内存分配和字符串操作等任务,从而提高效率并简化代码。C语言标准库的强大之处在于其简洁性和灵活性,加上标准库的支持,使其成为许多开发人员的首选编程语言之一。

希望本文能够帮助您更好地理解和利用C语言标准库中的函数,提高您的C编程技能。

END

来源:玩转单片机与嵌入式版权归原作者所有,如有侵权,请联系删除。▍推荐阅读C语言,环形队列嵌入式开发,要不要接私活?世界上最流行的软件,抛弃了Git

→点关注,不迷路←



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3