fget 和 gets 之间的区别

2023-12-14

有什么区别fgets() and gets()?

当用户点击“输入”时,我试图打破循环。它配合得很好gets(),但我不想使用gets()。 我尝试过fgets() and scanf()但我没有得到相同的结果gets(). fgets()无论用户在文本中输入什么,都会打破循环!这是我的代码:

void enter(void)
{
  int i,

  for(i=top; i<MAX; i++)
    {
      printf(".> Enter name (ENTER to quit): ");
      gets(cat[i].name);

      if(!*cat[i].name)
         break;

      printf(".> Enter Last Name: ");
      scanf("%s",cat[i].lastname);
      printf(".> Enter Phone Number: ");
      scanf("%s",cat[i].phonenum);
      printf(".> Enter e-Mail: ");
      scanf("%s",cat[i].info.mail);
      printf(".> Enter Address: ");
      scanf("%s",cat[i].info.address);
      printf("\n");
    }
  top = i;
}

之间的差异gets() and fgets()就是它fgets()将换行符留在缓冲区中。因此,不要检查输入的第一个元素是否是0,检查是否是'\n';

fgets(cat[i].name, sizeof cat[i].name, stdin);
if (cat[i].name[0] == '\n' || cat[i].name[0] == 0) {
    // empty line or no input at all
    break;
} else {
    // remove the trailing newline
    int len = strlen(cat[i].name);
    cat[i].name[len-1] = 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fget 和 gets 之间的区别 的相关文章

随机推荐

  • 有人成功将live555移植到android上吗?

    我一直在尝试建立live555根据本指南 https github com boltonli ohbee tree master android streamer jni 以及使用其他一些指南 但都无济于事 如果有人移植成功live555对
  • 是否可以在 SVG 元素的笔划上使用背景图像?

    正如问题所问 我试图弄清楚是否可以使用某种图案或重复的背景图像作为 SVG 路径的笔画 这可行吗 或者您仅限于颜色 TIA 您可以使用
  • 如何使用 < 从文本文件读取一整行

    我试图从某个文本文件中获取一整行而不是一个单词 直到它遇到空格 这里是源代码 include
  • Java错误:无法从void转换为int [] [重复]

    这个问题在这里已经有答案了 我不明白为什么java认为数组 thisRow 在传递到Arrays sort thisRow 时是无效的 thisRow 对我来说似乎是一个 int 这里有什么问题呢 错误消息 类型不匹配 无法在 Test m
  • 我的 LESS 数学运算在我的媒体查询定义中不起作用

    我试图使布局的断点变量较小 这样我就可以轻松地检查多个想法 但是 breakpoint 500px media all and min width breakpoint someid height 4321px media all and
  • 如何在Android 4.4中的onActivityResult中获取文件路径

    对于 android 4 3 及更早版本 我使用此方法 Uri myUri data getData Cursor cursor getContentResolver query myUri new String data null nul
  • pandas 箱线图中每个子图的独立轴

    下面的代码有助于获取具有独特颜色框的子图 但所有子图共享一组共同的 x 轴和 y 轴 我期待每个子图都有独立的轴 import pandas as pd import numpy as np import matplotlib pyplot
  • Excel VBA 中的 .NumberFormat 选项是什么?

    你能告诉我有哪些吗 NumberFormatExcel VBA 中的格式选项 如您所知 Excel 2010 支持以下类型 我知道我们可以将文本类型设置为 NumberFormat 或对于号码 NumberFormat 0 00000 您能
  • 有没有办法从字符串加载CSS和JavaScript?

    我见过很多从文件动态加载 CSS 和 javascript 的例子 这是一个很好的例子 但是有没有办法将 CSS 或 javascript 作为字符串加载呢 例如 类似 var style class width 100 document
  • 如何将 numpy 数组流式传输到 pyaudio 流中?

    我正在编写一个代码 该代码应该根据用户的操作向其提供一些音频输出 并且我想生成声音而不是固定数量的声音wav要播放的文件 现在 我正在做的是生成 numpy 格式的信号 将数据存储在wav文件 然后将相同的文件读入pyaudio 我认为这是
  • 在输入文本上触发 jQuery 的按键事件

    关于 trigger method the Event object the which财产 the JS 字符代码和下面的代码 为什么 example输入没有得到字符a as 自动写入价值 我是否误解了 trigger method
  • 使用 SimpleXMLElement 读取 `` 中的文本[重复]

    这个问题在这里已经有答案了 我正在导入 RSS 提要SimpleXMLElement在 PHP 中 我对标题和描述有疑问 由于某种原因 我获取提要的网站将标题和描述放入
  • 让 chrome 显示 rss feed (2)

    这个问题是这个问题的后续问题 使用 google chrome 查看 rss feed 我从此页面复制了源代码 希望这对网站所有者来说没问题 http www petefreitag com rss 我转义了所有引号并用它制作了一个 php
  • Python函数参数作为全局变量

    我编写了以下函数 它接受一个变量input name 然后用户输入一些值 该值被分配给input name 我想知道最好的制作方法input name可在函数外部访问 我知道在函数内部将变量定义为全局变量意味着可以在函数外部使用该变量 然而
  • 你能在继承树中重新抽象一个方法吗?

    EDIT 需要明确的是 设计相当丑陋并不是重点 关键是 设计已经存在 我面临的情况是必须添加另一个子类FlyingMotorizedVehicle如果我忘记添加 这将无法按预期工作foo 所以我只是想知道是否可以将其重新定义为抽象 我现在面
  • 如何在 Drupal 8 中更新我的视图而不返回首页?

    我正在尝试刷新 Drupal 8 中的视图 而无需使用以下代码重新加载页面 function Drupal use strict setInterval function view message activity stream timel
  • 如何检测AVPlayer视频何时结束播放?

    我正在使用 AVPlayer 在 Swift 中播放本地视频文件 mp4 有谁知道如何检测视频何时播放结束 谢谢 为了得到AVPlayerItemDidPlayToEndTimeNotification你的对象需要是 AVPlayerIte
  • 使用 mechanize 登录网页

    这是我第一次使用 Python 编程 我正在尝试登录this网页 经过搜索 我发现很多人建议使用mechanize 为了确保我在开始编码之前正确设置 我下载了mechanize从网站上下载 zip 并将我的 python 脚本放在解压缩的
  • PHP 中的新行。如何?

    Code 我试图将其显示为两行 但换行符不起作用 而是在两行之间打印一个空格 我尝试过 r n 以及 PHP EOL 以及将字符串放在单引号中 它们似乎都不起作用 那么如何在 PHP 中打印新行呢 我正在研究 phpDesigner 8 U
  • fget 和 gets 之间的区别

    有什么区别fgets and gets 当用户点击 输入 时 我试图打破循环 它配合得很好gets 但我不想使用gets 我尝试过fgets and scanf 但我没有得到相同的结果gets fgets 无论用户在文本中输入什么 都会打破