当前位置: 首页 > news >正文

佛山网站公司重庆软装设计公司官网

佛山网站公司,重庆软装设计公司官网,配色设计网站推荐,自己做的网站怎么给域名备案目录 C 标准库 - 简介 库变量 库宏 实例 C 标准库 - 简介 库变量 库宏 库函数 实例 C 标准库 - stddef.h 简介 stdio.h 是 C 语言中的一个标准库#xff0c;它提供了一些常用的函数和类型定义#xff0c;用于处理与大小相关的操作。 库变量 …目录 C 标准库 -  简介 库变量 库宏 实例 C 标准库 -  简介 库变量 库宏 库函数 实例 C 标准库 - stddef.h 简介 stdio.h 是 C 语言中的一个标准库它提供了一些常用的函数和类型定义用于处理与大小相关的操作。 库变量 在 stddef.h 中定义的类型有 size_t无符号整数类型用于表示对象的大小。ptrdiff_t有符号整数类型用于表示两个指针之间的差值。wchar_t宽字符类型在处理宽字符时使用。 这些类型在 C 语言中经常被用于标准库函数中以提供对大小、指针操作和宽字符的支持。 库宏 stddef.h 头文件中定义了一些常用的宏。 NULL空指针常量的值。offsetof(type, member-designator)生成一个类型为 size_t 的整型常量它表示结构体成员相对于结构体起始位置的字节偏移量。其中type 表示结构体类型member-designator 表示结构体成员的标识符。 值得注意的是offsetof 宏只能用于标准数据类型中的结构体和联合体不能用于位域。使用时应该遵循 C 语言的规范同时需要注意不同编译器可能对其实现方式存在差异。 实例 #include stdio.h #include stddef.hint main() {int arr[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};size_t size sizeof(arr); // 计算数组 arr 的大小ptrdiff_t diff arr[5] - arr[0]; // 计算指针差值printf(数组 arr 的大小为 %zu\n, size); // 使用 %zu 输出 size_t 类型printf(arr[5] - arr[0] 的差值为 %td\n, diff); // 使用 %td 输出 ptrdiff_t 类型struct Person {char name[20];int age;double height;};size_t offset offsetof(struct Person, age); // 计算结构体成员偏移量printf(结构体成员 age 在结构体中的偏移量为 %zu\n, offset); // 使用 %zu 输出 size_t 类型return 0; }在这个示例中我们首先定义了一个整型数组 arr然后使用 sizeof 计算了数组的大小并使用 运算符获取了数组中两个元素的地址用于计算指针差值。接着我们定义了一个名为 Person 的结构体使用 offsetof 宏计算了结构体成员 age 相对于结构体起始位置的偏移量并将结果输出到屏幕上。最后返回 0 表示程序正常结束。 值得注意的是在使用 size_t 和 ptrdiff_t 类型时我们分别使用了 %zu 和 %td 作为格式化输出的占位符。这是因为 size_t 是无符号整数类型而 ptrdiff_t 是有符号整数类型它们的输出格式与普通的整型类型不同。 让我们编译并运行上面的程序这将产生以下结果 数组 arr 的大小为 40 arr[5] - arr[0] 的差值为 5 结构体成员 age 在结构体中的偏移量为 20 C 标准库 - stdio.h 简介 stdio.h 是 C 标准库中的头文件它定义了与输入和输出相关的变量类型、宏和函数。这个头文件提供了对标准输入、标准输出和文件操作的支持。 库变量 size_t这是一种无符号整数类型用于表示对象的大小。通常用于 sizeof 运算符的结果。例如可以使用 size_t 来表示数组的大小或缓冲区的长度。 FILE这是一个结构体类型用于表示文件流的信息。它包含了操作文件所需的所有信息如文件指针、文件状态标志、读写位置等。通过使用 FILE 类型的指针我们可以打开、关闭、读取和写入文件。 fpos_t这是一种类型用于存储文件中任意位置的信息。它可以表示文件中的任何偏移量。fpos_t 类型的变量通常与 fseek 和 fgetpos 等函数一起使用用于在文件中进行定位和操作。 库宏 下面是头文件 stdio.h 中定义的宏 NULL这是一个空指针常量的值。通常用于初始化指针变量以表示它们不指向任何有效的内存地址。 _IOFBF、_IOLBF 和 _IONBF这些宏用于 setvbuf 函数的第三个参数用于设置文件的缓冲类型。_IOFBF 表示全缓冲_IOLBF 表示行缓冲_IONBF 表示无缓冲。 BUFSIZ这是一个整数值代表了 setbuf 函数使用的缓冲区大小。对于标准 I/O 库而言这通常是一个较大的数值如 512 或 1024以便提高读写效率。 EOF这是一个负整数值用于表示已经到达文件结束或读写操作失败的情况。在标准输入输出函数中当遇到文件结束或错误时它们会返回 EOF。 FOPEN_MAX这是一个整数值代表了系统可以同时打开的文件数量。通常情况下它的值是一个较大的数值如 256 或更多。 FILENAME_MAX这是一个整数值代表了字符数组可以存储的文件名的最大长度。如果实现没有任何限制则该值应为推荐的最大值。 L_tmpnam这是一个整数值代表了字符数组可以存储的由 tmpnam 函数创建的临时文件名的最大长度。 SEEK_CUR、SEEK_END 和 SEEK_SET这些宏用于在 fseek 函数中进行文件定位。它们分别表示当前位置、文件尾和文件开头。 TMP_MAX这是一个整数值代表了 tmpnam 函数可生成的独特文件名的最大数量。 stderr、stdin 和 stdout这些宏是指向 FILE 类型的指针分别对应于标准错误、标准输入和标准输出流。它们通常被用作默认的文件指针以方便进行输入输出操作。 库函数 下面是头文件 stdio.h 中定义的函数 为了更好地理解函数请按照下面的序列学习这些函数因为第一个函数中创建的文件会在后续的函数中使用到。 序号函数 描述1int fclose(FILE *stream) 关闭流 stream。刷新所有的缓冲区。2void clearerr(FILE *stream) 清除给定流 stream 的文件结束和错误标识符。3int feof(FILE *stream) 测试给定流 stream 的文件结束标识符。4int ferror(FILE *stream) 测试给定流 stream 的错误标识符。5int fflush(FILE *stream) 刷新流 stream 的输出缓冲区。6int fgetpos(FILE *stream, fpos_t *pos) 获取流 stream 的当前文件位置并把它写入到 pos。7FILE *fopen(const char *filename, const char *mode) 使用给定的模式 mode 打开 filename 所指向的文件。8size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中。9FILE *freopen(const char *filename, const char *mode, FILE *stream) 把一个新的文件名 filename 与给定的打开的流 stream 关联同时关闭流中的旧文件。10int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件位置为给定的偏移 offset参数 offset 意味着从给定的 whence 位置查找的字节数。11int fsetpos(FILE *stream, const fpos_t *pos) 设置给定流 stream 的文件位置为给定的位置。参数 pos 是由函数 fgetpos 给定的位置。12long int ftell(FILE *stream) 返回给定流 stream 的当前文件位置。13size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) 把 ptr 所指向的数组中的数据写入到给定流 stream 中。14int remove(const char *filename) 删除给定的文件名 filename以便它不再被访问。15int rename(const char *old_filename, const char *new_filename) 把 old_filename 所指向的文件名改为 new_filename。16void rewind(FILE *stream) 设置文件位置为给定流 stream 的文件的开头。17void setbuf(FILE *stream, char *buffer) 定义流 stream 应如何缓冲。18int setvbuf(FILE *stream, char *buffer, int mode, size_t size) 另一个定义流 stream 应如何缓冲的函数。19FILE *tmpfile(void) 以二进制更新模式(wb)创建临时文件。20char *tmpnam(char *str) 生成并返回一个有效的临时文件名该文件名之前是不存在的。21int fprintf(FILE *stream, const char *format, ...) 发送格式化输出到流 stream 中。22int printf(const char *format, ...) 发送格式化输出到标准输出 stdout。23int sprintf(char *str, const char *format, ...) 发送格式化输出到字符串。24int vfprintf(FILE *stream, const char *format, va_list arg) 使用参数列表发送格式化输出到流 stream 中。25int vprintf(const char *format, va_list arg) 使用参数列表发送格式化输出到标准输出 stdout。26int vsprintf(char *str, const char *format, va_list arg) 使用参数列表发送格式化输出到字符串。27int fscanf(FILE *stream, const char *format, ...) 从流 stream 读取格式化输入。28int scanf(const char *format, ...) 从标准输入 stdin 读取格式化输入。29int sscanf(const char *str, const char *format, ...) 从字符串读取格式化输入。30int fgetc(FILE *stream) 从指定的流 stream 获取下一个字符一个无符号字符并把位置标识符往前移动。31char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时或者读取到换行符时或者到达文件末尾时它会停止具体视情况而定。32int fputc(int char, FILE *stream) 把参数 char 指定的字符一个无符号字符写入到指定的流 stream 中并把位置标识符往前移动。33int fputs(const char *str, FILE *stream) 把字符串写入到指定的流 stream 中但不包括空字符。34int getc(FILE *stream) 从指定的流 stream 获取下一个字符一个无符号字符并把位置标识符往前移动。35int getchar(void) 从标准输入 stdin 获取一个字符一个无符号字符。36char *gets(char *str) 从标准输入 stdin 读取一行并把它存储在 str 所指向的字符串中。当读取到换行符时或者到达文件末尾时它会停止具体视情况而定。37int putc(int char, FILE *stream) 把参数 char 指定的字符一个无符号字符写入到指定的流 stream 中并把位置标识符往前移动。38int putchar(int char) 把参数 char 指定的字符一个无符号字符写入到标准输出 stdout 中。39int puts(const char *str) 把一个字符串写入到标准输出 stdout直到空字符但不包括空字符。换行符会被追加到输出中。40int ungetc(int char, FILE *stream) 把字符 char一个无符号字符推入到指定的流 stream 中以便它是下一个被读取到的字符。41void perror(const char *str) 把一个描述性错误消息输出到标准错误 stderr。首先输出字符串 str后跟一个冒号然后是一个空格。42int snprintf(char *str, size_t size, const char *format, ...) 格式字符串到 str 中。 实例 #include stdio.hint main() {FILE *file;char buffer[100];// 打开文件以供读取file fopen(D://example.txt, r);if (file NULL) {printf(无法打开文件\n);return 1;}// 从文件读取数据并输出到控制台while (fgets(buffer, sizeof(buffer), file)) {printf(%s, buffer);}// 关闭文件fclose(file);return 0; }这个示例演示了如何使用fopen函数打开一个文件并使用fgets函数从文件中逐行读取数据存储到缓冲区中然后使用printf函数将数据输出到控制台。最后使用fclose函数关闭文件。 请注意示例中假设当前目录下存在名为example.txt的文本文件并且该文件可读。如果文件不存在或无法读取程序将打印一条错误消息。
http://www.yutouwan.com/news/351999/

相关文章:

  • 做网站的法律软件开发公司深圳
  • 网站建设软件如何建设交流网站的论文
  • 编程 毕业设计代做网站喂来苏州网络科技有限公司
  • 做一个商务平台网站的费用上海闵行区 网站建设
  • 大型o2o网站开发时间wordpress jquery cdn
  • 张家界做网站零基础月做网站多久
  • 备案域名出售平台张北网站seo
  • WordPress网站积分系统自由人网站开发
  • 安徽网站建站系统哪家好帝国网站如何做中英文切换
  • wordpress 公众账号seo自学教程推荐
  • 南通哪里学网站建设河北邯郸seo网站建设网站优化
  • 网站开发 asp.net php网站空间免费
  • 雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何提升seo搜索排名
  • 首页设计网站 专注山东建设厅网站
  • 怎么写一个网站程序简洁的网页
  • 中山做网站哪家好企业官网有哪些网站
  • 北京最新楼盘排行榜做网站优化有什么途径
  • 查看网站外链太仓市住房和城乡建设局规网站
  • 车辆年检查询系统官方网站wordpress开启gzip压缩
  • 福州网站制作案例wordpress justnews下载
  • 银行需要网站开发人员吗深圳做网站推广哪家好
  • 中国建设基础设施公司网站信息化建设包括网站建设
  • 贪便宜网站建房城乡建设部网站
  • 做免费互动小游戏的网站网站建设 自己的服务器
  • 国外作品集网站wordpress回复
  • 怎么自己制作属于自己的网站长春做网站用的软件
  • 湖南建设集团网站如何设置网站logo
  • 网站建设制作模板微网站微信数据库设计
  • 中国建设工程协会网站做智慧教室的网站
  • 网站开发的技术分类tp框架做网站