EOF 符号常量

2024-05-04

From C 编程语言:

int c;
while ((c = getchar()) != EOF)
    putchar(c);

“……解决办法是getchar当没有更多输入时,返回一个独特的值,该值不能与任何真实字符混淆。这个值称为EOF,表示“文件结束”。我们必须声明c是一个足够大的类型来保存任何值getchar返回。我们不能使用char since c必须足够大才能容纳EOF除了任何可能的char."

我签到了stdio.h并在我的系统上打印 EOF 的值,并将其设置为-1。在我的系统上,chars已签名,尽管我知道这是依赖于系统的。所以,EOF可以安装在char对于我的系统。我通过定义重写了上面的小例程c成为一个char并且程序按预期运行。 ASCII字符表中还有一个字符here http://www.asciitable.com/似乎有一个对应于 255 的空白字符,其作用类似于EOF.

那么,为什么 ASCII 有一个指定为 EOF 的字符(255)呢?这似乎与文中所说的相矛盾C 编程语言 book.


When getchar()读取字节255,返回255。当getchar()发现没有更多的输入,则返回-1。

如果将结果存储在char,你无法区分这两者。但是当你将它们存储在int, 你可以。 (该声明独立于char).

仅当你know结果是有效的,你可以将其转换为char并获得通常的 C 风格字符类型。

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

EOF 符号常量 的相关文章

  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 将 ionic Zip 读取为内存流 C#

    我正在使用 Ionic Zip 通过以下方法将 ZipFile 提取到内存流 private MemoryStream GetReplayZipMemoryStream MemoryStream zipMs new MemoryStream
  • 如何修复 GitHub 拉取请求中被 git rebase 破坏的提交顺序?

    当我编写代码时 我会将其分解为小的逻辑更改 以便轻松快速地进行审查 为此 我使用git rebase i 交互式 压缩 删除和更改提交的顺序 我注意到这有时会导致 GitHub 拉取请求的提交顺序不同 尽管该顺序保留在远程分支上 例如 co
  • 这是一个不正确的警告吗?

    让我们看看我经常看到的这个代码模式 struct Foo template
  • 使用 sh shell 比较字符串

    我正在使用 SH shell 我试图将字符串与变量的值进行比较 但是if条件始终执行为真 为什么 这是一些代码 Sourcesystem ABC if Sourcesystem eq XYZ then echo Sourcesystem M
  • 将 CSS 导入 HTML 不起作用

    我正在尝试将 CSS 文件 import 导入 HTML 但它不起作用 我确实尝试过链接路径 但它也不起作用 但这种格式似乎工作为 http U5 L ttJS http 127 0 0 1 54149 assets pages U5 JS
  • C++:从同一类的成员函数调用纯虚函数

    考虑以下 2 个程序 include
  • 在实体框架中使用 Asp.net Identity 抛出无法从程序集“EntityFramework,版本=6.0”加载类型“.Schema.IndexAttribute”

    public EmployeeDTO AuthenticateEmployee string username string password try var userLogin UnitOfWork UserLoginRepository
  • 将 PhotoSwipe 配置为不使用整个窗口?

    我目前正在尝试使用构建移动图片库照片滑动 http photoswipe com 我已经能够让它工作了 但有一个小问题 当我 单击照片缩略图 实际照片总是占据整个 视口 当您在移动设备上查看图库时 这是可以的 但是 如果您的视口是计算机屏幕
  • 托管 C++ 引用类

    任何好的网站或解释什么是ref class何时将一个类声明为 引用类 msdn上的解释对我来说还不够 基本类型 可选 一个基础类型 引用类或引用结构可以继承零个或多个托管接口以及零个或一个引用类型 值类或值结构只能从零个或多个托管接口继承
  • git 克隆密码存储或缓存在哪里?

    环境定义 使用Windows 10操作系统 我使用 githttps git scm com https git scm com 和 Github 的 Git Shell 背景 当我发出如下所示的 git clone 命令时 git clo
  • Prism 6 与旧版本的兼容性

    我有一个使用 Prism 5 WPF 的主项目的解决方案 该解决方案还包含更多属于 Prism 模块的项目 现在我必须创建一个新模块 我想知道我是否只能在该模块中使用 Prism 6 并且它将与 Prism 5 主项目兼容 或者我是否需要在
  • 在 Python 中读取 .docx 文件以查找删除线、项目符号和其他格式

    任何人都可以帮助我在使用 python docx 的 Python 中识别 docx 文件中的段落是否包含带有删除线格式的文本 即它出现但被划掉 或者在开头有一个项目符号点 我正在尝试编写一个脚本来识别文档中的结构并解析内容 到目前为止 我
  • 新 WordPress 网站中出现奇怪的 url 重写问题

    我刚刚在 AWS EC2 主机中设置了一个新的 Wordpress 站点 其 DNS 主机名如下 http ec2 34 230 30 128 compute 1 amazonaws com 一切正常 所以我继续设置一个友好的域名 word
  • MySQL 错误:无法创建表(errno:121“写入或更新时重复键”)

    我使用 MySQL Workbench 生成数据库的图表和代码 当我将代码放入 phpMyAdmin 时 它显示错误 1005 无法创建表wypozyczalnia wypozyczenie 错误号 121 写入或更新时密钥重复 哪里有问题
  • 运行 TensorFlow 时使用 CNMeM 有什么意义吗?

    The CNMeM 库 https github com NVIDIA cnmem是一个 帮助深度学习框架管理 CUDA 内存的简单库 据报道 CNMeM 提供了一些有趣的速度改进 https datascience stackexchan
  • 如何提取图像中的表格

    我想从图像中提取表格 这个 python 模块https pypi org project ExtractTable https pypi org project ExtractTable 与他们的网站https www extractta
  • MD5 和 SHA1 的安全性如何

    嘿 只是一个简单的问题 因为我想更多地了解哈希函数 我知道它们如何工作以及它们做什么 但是它们的安全性如何 我希望得到一个简单的答案而不是链接 因为我从来没有发现它们有用 现在的技术 两者都可以cracked http www hackth
  • 如何在Spring中模拟ModelMapper?

    我正在尝试为我的服务层编写单元测试 SpringBootTest class ClinicServiceTest Mock private ProcedureRepository procedureRepository InjectMock
  • 一键切换两个复选框,无需js

    有没有办法切换两个combined一键点击复选框 我有一个小日历 我想用复选框选择几周 一周可以是两个月 所以同一周我有两个复选框 我怎样才能安全地将它们结合起来 我正在使用这个抽象 HTML
  • EOF 符号常量

    From C 编程语言 int c while c getchar EOF putchar c 解决办法是getchar当没有更多输入时 返回一个独特的值 该值不能与任何真实字符混淆 这个值称为EOF 表示 文件结束 我们必须声明c是一个足