如何从 C 中具有前导空格的 stdin 获取字符串输入?

2023-12-01

需要一个解决方案来让输入字符串以空格开头吗?

我知道一种在输入中包含空格的方法

scanf("%[^\n]s", s);

但它仅适用于单词之间的空格。 我需要一个以空格开头的字符串的解决方案。 我还需要变量中的起始空格


为了得到一个line用户输入、使用fgets().

#define S_MAX_LENGTH
char s[S_MAX_LENGTH + 2];
if (fgets(s, sizeof s, stdin)) {
  s[strcspn(s, "\n")] = '\0'; // Should code want to lop off a potential trailing \n
  ....

不使用scanf("%[^\n]s", s); nor gets(s);。他们遭受缓冲区溢出和其他问题的困扰。

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

如何从 C 中具有前导空格的 stdin 获取字符串输入? 的相关文章

  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • jQuery - 根据条件禁用和启用锚标记

    在页面加载时 我正在检查一个人是否已注册 如果他是 我将启用链接 否则禁用该链接 我尝试了以下方法 但它不起作用 var status status if status Registered addlink data disabled el
  • 使用 capture.get(CV_CAP_PROP_FPS) 时 OpenCV 报告 TBR 而不是 FPS

    我尝试在 Mac OS 10 6 8 Snow Leopard 上使用 OpenCV 和 Qt 4 7 4 处理几个视频 如果我创建一个cv VideoCapture对象 然后查询与此类视频相关的帧速率 我得到的是 TBR 而不是 FPS
  • 通过require在不同的Lua状态之间共享全局变量

    我正在尝试找到一种方法来共享特定Lua脚本的全局变量 test lua在示例中 不同 Lua 状态之间 这是我的简单示例代码 In test lua num 2 In main cpp include
  • c函数参数评估和传递[重复]

    这个问题在这里已经有答案了 我有一个很小的代码 但我不明白为什么输出是这样的 这里是 include
  • 如何在 jQuery 动画中连续旋转子元素?

    我有一个类为 bannergroup 的 div 其中包含多个 div banneritem 我希望这些项目能够相互旋转 淡入然后淡出 我可以在类横幅组中放置多个 div 并且每个 div 都应单独旋转 这是 HTML div class
  • 如何用数组编组哈希?

    我应该做什么编组数组的哈希值 以下代码仅打印 s Hash new s default Array new s 0 lt lt Tigger s 7 lt lt Ruth s 7 lt lt Puuh data Marshal dump s
  • range-v3 如何操作::使用分隔符连接

    我从 git 获取 MSVC 的 range v3 并通过MSVC C 14编译器进行编译 考虑代码 auto getter2 const std string r return r r std vector
  • 如何将 ul 元素水平居中对齐

    我无法对齐包含在ul 到其容器的水平中心 怎么做 See a jsFiddle 上菜单的现场演示 li a href aboutus php AboutUs a ul class sub li a href aboutsquare php
  • 如何通过 Python Pandas 正确规范 json

    我想做的是通过 Pandas 加载外汇历史价格数据的 json 文件并对数据进行统计 我已经了解了许多有关 Pandas 和解析 json 文件的主题 我想将带有额外值和嵌套列表的 json 文件传递 给 pandas 数据框 我有一个 j
  • 每当有新行或任何新更新时就从 Cassandra 数据库中提取数据吗?

    我正在开发一个系统 需要将 Avro 模式存储在 Cassandra 数据库中 所以在 Cassandra 中我们将存储这样的东西 SchemaId AvroSchema 1 some schema 2 another schema 现在假
  • 添加与第一个 y 轴相关的第二个 y 轴

    我希望你们中的一位能够提供帮助 我有一张图 其中一个 y 轴值和一个与这些 y 值相对应的 x 轴 我想在图的右侧添加第二个 y 轴 将出现在第二个 y 轴上的值是通过第一个 y 轴值通过某种关系确定的 例如 y2 可能是y2 y1 2 1
  • Google Places API - 如何将免费配额增加到每天 150,000 个请求?

    在 Google Developers 控制台中 如果我选择我的 API 项目 则会出现一个 配额 选项卡 在 计费状态 下有一个 申请更高配额 链接 该链接链接到一个页面 该页面显示 Google Places API Web 服务强制执
  • 如何使用 React Native 在 Android 上使用与 ios 相同的自定义字体

    我正在使用 React Native 为 ios 和 android 使用相同的代码 现在在我的项目中我想为两者使用自定义字体 我知道如何在 ios 上应用自定义字体 但那些相同的字体也如何在 android 上应用 新样本 我在下面添加了
  • 使用 numpy 将整数拆分为数字

    我有个问题 这个问题之前就被问过 但据我所知从未使用过 numpy 我想将一个值拆分为不同的数字 做某事并返回一个数字 根据下面的问题我可以做我想做的事 但我更喜欢在 numpy 中完成这一切 我希望它更有效 因为我不会来回更改 numpy
  • 未捕获的类型错误:无法读取未定义的属性“状态” - React

    我不知道我是否在这里遗漏了一些小东西 只是想了解状态如何与 React 一起工作 只需创建一个小复选框 在选中 取消选中时更改文本 import React from react export default class Basic ext
  • 动态 SQL - 检查语法和语义

    使用 Oracle 动态 SQL 我们可以执行包含 SQL 语句的字符串 例如 l stmt select count from tab1 execute immediate l stmt 是否可以不执行l stmt但以编程方式检查语法和语
  • 从 WPF 应用程序引用 Silverlight 类库时出错

    我有一个 WPF 应用程序和一个 Silverlight 应用程序 它们都用于显示地图并共享一些相同的功能 为了保持 DRY 我创建了一个 Silverlight 类库项目 我从 Silverlight 和 WPF 中引用了这一点 它包含一
  • 提交机器特定的配置文件

    我开发时的一个常见情况是代码库将有几个需要机器特定设置的配置文件 这些文件将被签入 Git 而其他开发人员总是会意外地将它们重新签入并破坏其他人的配置 一个简单的解决方案是不将它们签入 Git 甚至另外为它们添加一个 gitignore 条
  • iOS 中不同位置的存储数据库有何不同?

    我正在使用 SQLite swift 文档中数据库的路径为 let path NSSearchPathForDirectoriesInDomains DocumentDirectory UserDomainMask true first 但
  • 如何从 C 中具有前导空格的 stdin 获取字符串输入?

    需要一个解决方案来让输入字符串以空格开头吗 我知道一种在输入中包含空格的方法 scanf n s s 但它仅适用于单词之间的空格 我需要一个以空格开头的字符串的解决方案 我还需要变量中的起始空格 为了得到一个line用户输入 使用fgets