是否存在 EOF != -1 或 WEOF != -1 的常见 C 环境

2024-04-11

C 标准定义EOF and WEOF使用以下语言:

7.21.1 输入/输出 - 简介

标题<stdio.h>定义了多个宏,并声明了三种类型和许多函数来执行输入和输出。

...

EOF

它扩展为一个整数常量表达式,类型为 int 且为负值,由多个函数返回以指示文件结束,即不再有来自流的输入;

...

7.21.1 扩展多字节和宽字符实用程序 - 简介:

标题<wchar.h>定义了四个宏,并声明了四种数据类型、一个标记和许多函数。

...

wint_t

这是一种默认情况下不变的整数类型参数升级可以保存与扩展字符集的成员相对应的任何值,以及至少一个不与扩展字符集的任何成员相对应的值

WEOF

它扩展为 wint_t 类型的常量表达式,其值不对应于扩展字符集的任何成员。(328) 本子条款中的几个函数接受(并返回)它以指示文件结束,即不再有来自流的输入。它还用作不对应于扩展字符集的任何成员的宽字符值。


  1. 宏 WEOF 的值可以与 EOF 的值不同,并且不必为负数。

EOF是一个负值,并且它是唯一的负值getc()可以返回。我看到它通常被定义为(-1),并且类似地WEOF定义为((wint_t)-1).

是否有任何常见的 C 环境将这些宏定义为不同的内容?

标准委员会保留不同值的可能性,特别是非负值的理由是什么?WEOF?


标准委员会保留不同值的可能性,特别是非负值的理由是什么?WEOF?

int 类型总是有符号的,负值总是包含在范围内,因此EOF标准可以将宏定义为-1。

However the type wint_t may be signed or unsigned1, so the macro WEOF cannot be defined by the standard as a specific value. The implementation must choose it, since the implementation defines the type wint_t and its signess, it must also choose a value for WEOF.


1 (Quoted from: ISO/IEC 9899:201x 7.20.3 Limits of other integer types 5)
If wint_t (see 7.29) is defined as a signed integer type, the value of WINT_MIN shall be no greater than −32767 and the value of WINT_MAX shall be no less than 32767; otherwise, wint_t is defined as an unsigned integer type, and the value of WINT_MIN shall be 0 and the value of WINT_MAX shall be no less than 65535.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否存在 EOF != -1 或 WEOF != -1 的常见 C 环境 的相关文章

  • 为什么使用abs()或fabs()而不是条件否定?

    在 C C 中 为什么要使用abs or fabs 不使用以下代码即可查找变量的绝对值 int absoluteValue value lt 0 value value 这与较低级别的指令较少有关吗 您提出的 有条件的abs 并不等于std
  • Mono 无法保存用户设置

    我在 Mono Ubuntu 上保存用户设置时遇到问题 这是代码示例 private void Form1 Load object sender EventArgs e string savedText Properties Setting
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • 如何以编程方式显示“清除默认值”?

    现在我正在开发一个家庭启动器应用程序 我想清除默认家庭启动器的默认设置 例如 三星主页 即 我想展示Settings gt Applications gt Manage Application gt Samsung Home gt clea
  • Swift:未定义的符号:iTunesApplication

    我现在正在尝试创建 Swift OS X 应用程序 但发现使用 ScriptingBridge 很困难 我包含了正确的 iTunes h 文件 并且当我将 iTunesApplication 写入类型时 Xcode 没有给出任何错误 但是
  • eclipse:链接资源的位置无效

    我尝试链接一个项目文件夹 该文件夹是特殊的 vista 文件夹 appdata roaming user myproj 它显示了上面的错误消息 什么阻止这样做 我尝试以管理员身份运行 但它给出了相同的消息 当然 从appdata文件夹中出来
  • 具有多个约束的 PostgreSQL 更新插入

    我正在尝试在有两个约束的表上进行更新插入 一种是a列是唯一的 另一种是b c d和e列一起是唯一的 我不想要的是 a b c d 和 e 一起是唯一的 因为这将允许两行在 a 列中具有相同的值 如果违反第二个约束 唯一的 b c d e 则
  • MSSQL 和 PHP:“传递给 sqlsrv_query 的参数无效。”

    我正在尝试通过 PHP 运行一个非常简单的 MSSQL 更新语句 但收到一条错误消息 无效的参数已传递给 sqlsrv query 这是连接等级 http pastebin com 3j4zmHJY我正在使用 最相关的是查询功能 funct
  • 控制 Android NDK 中的编译器标志?

    我知道我可以使用LOCAL CFLAGS将参数传递给编译器 然而 ndk build正在我的后面插入选项LOCAL CFLAGS 因此它们优先 例如我想指定 Ofast but ndk build adds O2在我自己的标志之后 并且由于
  • 在Python中处理大型密集矩阵

    基本上 在 python 中存储和使用密集矩阵的最佳方法是什么 我有一个项目 可以生成数组中每个项目之间的相似性度量 每个项目都是一个自定义类 并存储一个指向另一个类的指针和一个表示它与该类的 接近度 的数字 目前 它在处理约 8000 个
  • 为什么 Linq Contains 会生成此 SQL?

    背景 我正在开发一个系统 用于清理内部客户列表并找出联系人的电子邮件地址 其中我们已经拥有该公司其他人的电子邮件地址 为了做到这一点 我有 简化的 3 个表 Contacts ID CompanyId Email Domain 电子邮件域名
  • Fragment getArguments(在 onResume 中)返回 null

    我正在尝试将一些数据从活动发送到片段 我需要获取数据onResume片段的方法 但我想这是不可能的 参数只能在 onCreate 中接收吗 活动 public void someMethod String someString test B
  • 禁用触发的 Azure WebJob

    我有一个 webhook 触发的 Azure WebJob 由于 原因 我无法控制发送网络钩子的系统 每天发送一个 Webhook 它是唯一由 WebApp 托管的 WebJob 在测试过程中 我想禁用此 WebJob 因此我停止了 Web
  • “/”应用程序中的服务器错误。不提供此类页面

    我有一个主机 我用它托管了一个网页 cshtml扩大 我的主人是arvixe com它提供 ASP 和 NET 托管 但是当我尝试加载网页时 我收到此错误消息 应用程序中的服务器错误 不提供此类页面 说明 您请求的页面类型未被提供 因为它已
  • Microsoft Edge 不会在 Vagrant VM 中加载本地 nginx 网站

    我遇到了一个奇怪的问题 Microsoft Edge 无法加载托管在 vagrant 虚拟机内的本地 Craft CMS 网站 任何加载本地配置的主机名或 IP 的尝试都会返回 嗯 我们无法访问此页面 错误 我的主机文件中有一行 192 1
  • 使用“window.location.href”的函数中的两个 URL

    我正在使用 Marketo Embed 它允许我在使用时添加它 我的目标是使用 window location href 函数打开第一个 URL 一个 zip 文件 然后打开一个新 URL 一个页面 它仅使用其中一个 URL 如果它们是唯一
  • Gradle 找不到依赖项

    我正在尝试使用 Gradle 文件如下所示 Apply the java plugin to add support for Java apply plugin java In this section you declare where
  • 如何在tomcat上运行react应用程序

    我正在尝试运行以下示例 https github com ceolter ag grid react example https github com ceolter ag grid react example ag grid 反应示例 但
  • 以 jpeg 格式保存色彩空间

    我有一个 servlet 来转换和缓存较小版本的照片 它是使用 java awt image javax imageio 和第三方重采样过滤器实现的 原件均使用 sRGB 颜色配置文件上传 当我重新采样并再次保存它们时 它们仍然处于 sRG
  • 如何检查是否从 GridView 中选择了任何行?

    我在 aspx 页面中有一个 gridview
  • 如何在 MySQL 5.7 中获取 JSON 数组中唯一/不同的元素

    我有 mysql 5 7 带有一个包含一些 JSON 列的非规范化表 我需要为数组列提取每行的唯一 不同值 例如 a b b a c 预期输出应该是 a b c SET json a b b a c 我需要在此列表中获取唯一值 a b c
  • 比较两列并更改第三列时如何使用 ifelse?

    我仍然发现 R 中的 ifelse 结构有点令人困惑 我有以下数据框 df lt structure list snp structure 1 11 Label c AL0009 AL00014 AL0021 AL00046 AL0047
  • 是否存在 EOF != -1 或 WEOF != -1 的常见 C 环境

    C 标准定义EOF and WEOF使用以下语言 7 21 1 输入 输出 简介 标题