为什么会出现此错误:冲突的 getline 类型

2023-12-02

有人可以看一下这个并告诉我出了什么问题吗?我有3个错误:

  1. error: Conflicting types for getline
  2. error: too few arguments to function call, expected 3 have 2
  3. error: conflicting types for getline.

我确信我忽略了一些简单的事情,但我找不到我的错误。谢谢,这是代码:

#include <stdio.h>

#define MAXLINE 1000

int getline(char line[], int maxline); /* conflicting types for getline */
void copy(char to[], char from[]);

main() {
    int len;
    int max;
    char line[MAXLINE];
    char longest[MAXLINE];
    
    max = 0;
    
    while ((len = getline(line, MAXLINE)) > 0) /* too few arguments to call, expected 3 have 2 */
        if (len > max) {
            max = len;          
            copy(longest, line);
        }   
    
    if (max > 0)
        //printf("longest line = %d characters\n -->", max);
        printf("%s", longest);

    return 0;
}

int getline(char s[], int lim) { /*conflicting types for getline*/

    int c, i;
    
    for(i = 0; i<lim-1 && (c = getchar()) != EOF && c != '\n'; ++i)
        s[i] = c;
    
    if (c == '\n') {
        s[i] = c;
        ++i;
    }
    s[i] = '\0';

    return i;
}

void copy(char to[], char from[]) {

    int i;
    i = 0;
    
    while ((to[i] = from[i]) != '\0') {
        ++i;
    }
}

简单的答案:不要调用你的函数getline。这个名字已经被占用了

(我知道,这是 K&R 中的一个示例。所以你应该能够使用它,对吧?不幸的是,不能。这也让我烦恼。)

稍微长一点的答案:现在有一个半标准的getline函数,你的函数与之冲突。如果您尝试命名自己的函数之一,您会遇到同样的错误printf。可能有一种方式可以说:“我不想使用标准getline函数,我想使用我自己的”,但在这种情况下,可能不值得。

(就我个人而言:我已经用 C 语言编程了大约 35 年,其中大约 34.9 年我一直在使用自己的 C 语言getline函数,自从我在 K&R 中读到它之后。但在过去一年左右的时间里,我不得不重写所有程序,调用我自己的函数fgetline代替getline,来解决这个问题。)

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

为什么会出现此错误:冲突的 getline 类型 的相关文章

  • 对静态成员变量的未定义引用

    我有一个有静态成员的类 它也是我的程序中其他几个类的基类 这是它的头文件 ifndef YARL OBJECT HPP define YARL OBJECT HPP namespace yarlObject class YarlObject
  • 如何动态加载包含非托管代码的原始程序集?(绕过“无法验证的代码失败策略检查”异常)

    我将举一个使用的例子系统 Data SQLite DLL http sqlite phxsoftware com 这是一个包含非托管代码的混合程序集 如果我执行这个 var assembly Assembly LoadFrom System
  • 使用 C++ 拆分“[常规设置]”格式的节字符串

    我是 C 新手 我想读取包含部分和键值对的 ini 文件 根据部分 我想读取相应键的值 首先 我想阅读方括号内的部分 请帮忙 谢谢 对于真正的 INI 文件解析 我强烈建议iniparser库 http ndevilla free fr i
  • 在调用堆栈中看到大量 clr!CLR Semaphore::Wait

    我们看到很多像下面这样的调用堆栈 我可以知道什么条件 情况会发生这种情况吗 OS Thread Id 0x48654 559 Current frame ntdll NtWaitForSingleObject 0xa Child SP Re
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • 操作/Lambda 表达式内存管理问题

    我将一个操作存储在局部变量中 然后在该局部变量超出范围后使用 使用前是否有被清理的危险 这是一个例子 public List GetMaps Action
  • 在 C++ 中使用表达式模板进行符号微分

    如何在 C 中使用表达式模板实现符号微分 一般来说 您需要一种表示符号的方法 即编码的表达式模板 例如3 x x 42 以及一个可以计算导数的元函数 希望您对 C 中的元编程足够熟悉 知道这意味着什么和需要什么 但可以给您一个想法 This
  • C for 循环索引:新 CPU 中的前向索引更快吗?

    在我订阅的邮件列表上 两位知识渊博的 IMO 程序员正在讨论一些优化的代码 并说了以下内容 在 5 8 年前发布的 CPU 上 向后迭代 for 循环稍微快一些 e g for int i x 1 i gt 0 i 因为比较i归零比将其与其
  • 本地主机上的 .net HTTP_X_FORWARDED_FOR NULL

    抱歉 如果其他地方已经回答了这个问题 我找不到它 如果没有 我会尝试查找访问过该站点的机器的原始 IP 根据我的基本理解 变量HTTP X FORWARDED FOR无论代理和其他过滤器如何 都会显示用户的 IP 如果这是真的 我正在尝试对
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • 带双重检查锁的单例设计模式

    假设您有以下代码 1 为什么我们使用双重检查锁 为什么单锁不够好 请提供详细的例子 2 这种实施方式的主要缺点是什么 我该如何证明呢 Thanks public sealed class SomeSingleton5 private sta
  • 按值返回的函数的返回语句中的初始化

    我的问题源于深入研究std move in return语句 例如以下示例 struct A A std cout lt lt Constructed lt lt this lt lt std endl A A noexcept std c
  • 带有自定义鉴别器的 EntityFramework Code First 继承

    我正在尝试在 EntityFramework Code First 中映射以下继承 public class Member public string ProjectName get set public string AssemblyNa
  • TreeView:仅在子节点中存在复选框

    我需要一个树视图控件 根节点没有复选框 只有图像 所有子节点都有一个复选框 图像 C net 2 0 winforms 不是 wpf WinForms树视图默认不支持混合复选框 非复选框节点 您可以在树视图上全局启用复选框 并使用以下命令在
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • 从 exit() 和 fork() 返回的结果奇怪地发生了位移

    我有一个 C 代码 有时会自行分叉 每个分叉都会执行一些操作 然后返回一个错误代码 目前 每个子进程返回其 ID 0 n void other int numero exit numero int main for int i 0 i lt
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • OpenGL 计算着色器调用

    我有一个与新计算着色器相关的问题 我目前正在研究粒子系统 我将所有粒子存储在着色器存储缓冲区中 以便在计算着色器中访问它们 然后我派遣一个一维工作组 define WORK GROUP SIZE 128 shaderManager gt u
  • 如何在没有 Visual Studio 的情况下将新文件添加到 .csproj 文件

    如何添加新文件到 csproj从命令提示符 我认为没有任何工具可以响应命令行上的 add project 命令来执行此操作 但我认为您可以幸运地创建一个程序 脚本来直接操作 csproj 文件的 XML 内容 csproj 文件的结构如下所

随机推荐

  • 无法将提供商注入 Karma 测试

    我正在尝试将 urlRouterProvider 注入到我的测试中 但我不断遇到未知提供程序问题 我正在使用 ui router 和测试指令 并且需要能够访问这些提供程序 否则所有测试都会失败 导航栏 spec js use strict
  • 控制器 cakephp 2 中的全局变量

    在控制器中使用全局变量的方法是什么 我尝试使用 beforeFilter 来执行此操作 但无法从其他函数访问它 只能使用来完成吗Configure read and Configure write 您可以在 AppController 中的
  • C++ 非法数字,简单问题

    我正在运行这个错误 int temp 0789 error C2041 illegal digit 8 for base 8 据我所知 编译器将任何以 0 开头的数字 例如 0123 理解为八进制 但是我怎样才能告诉编译器只接受前面的 0
  • ncurses:奇怪的行格式

    我有这个代码可以与 ncurses 一起使用 include
  • 删除行(向后工作),但使用范围变量?

    通常 您需要浏览一系列单元格 并根据某些条件删除整行 在实践中 最好从end范围内 然后进行工作 Dim i as Long For i lastRow to 1 Step 1 If Cells i 2 Value del then Row
  • 仅显示 Google 地图中特定城市的标签

    我有连接地图上两点的折线 我想仅显示这两点的标签 并隐藏所有其他标签 我探索了 Google 地图 API 以了解样式地图的工作原理 使用隐藏功能 我可以实现各种粒度的标签隐藏和显示 但我未能实现仅显示两个城市标签 例如 如果我有一条连接圣
  • 在 Mongoose 中计算平均值

    我正在尝试计算评论中所有评分的平均值 但结果 平均值始终为 0 我不知道问题是什么 这是我的产品架构 var productSchema new Schema id String Rating type Number default 0 C
  • ADAL:请求正文必须包含以下参数:client_secret

    我使用 ADAL for android 编写了下面的身份验证代码 mAuthContext new AuthenticationContext MainActivity this Constants AUTHORITY URL false
  • File.createNewFile() 随机失败

    我构建了一个简单的测试 它在无限循环中创建和删除文件 名称不变 该测试确实运行了几秒钟 有时超过 77 000 次迭代 然后失败并出现以下异常 Exception in thread main java io IOException Acc
  • 如何在浏览器中强制刷新 javascript 文件? [复制]

    这个问题在这里已经有答案了 我在正在构建的 Web 应用程序中使用了大量 JQuery KnockoutJS 和其他 JavaScript 内容 大多数 JS 都保存在自己的独立文件中 我遇到的问题是浏览器会缓存这些文件 因此当我推送更改时
  • Django - 由于 csrf 令牌在 Windows 上不工作,AJAX 不工作

    我在 Linux 上开发了我的应用程序 AJAX 请求工作正常 我已将应用程序拉至 Windows 计算机 但 AJAX 请求失败 我只收到 403 Forbidden 错误 从网上查了一下 我认为是csrf token的问题 在Linux
  • 根据给定的出生日期计算年龄

    我有 2 个组合框和 2 个文本框 我的第一个组合框包含一月 二月等格式的月份 另一个组合框包含从 1 到 31 的数字 我的第一个文本框是txtyear 一旦用户输入出生年份txtyear一个变量BOD将等于这个 Dim BOD as s
  • 如何获取当前系统时间(以毫秒或纳秒为单位)?

    Unix time 返回秒数 如何获得以毫秒或纳秒为单位的时间 Thanks Try Unix gettimeofday Unix time float 1447865942 Unix gettimeofday float 14478659
  • MySQL 内连接来自另一个表的计数

    我正在尝试做一个SELECTMySQL 中的查询也将执行count在另一个表中和join答案写进我最初的table Table people 编号 名称 头发颜色 工作编号 Table job 编号 工作名称 SELECT FROM job
  • HTTP 无法注册 URL http://+:8000/HelloWCF/。您的进程没有此命名空间的访问权限

    我是 WCF 的初学者 但正在努力提高我的经验 第一步我就遇到了问题 我创建了最简单的 WCF 服务 代码清单 所有代码在一个文件中 using System using System ServiceModel namespace Esse
  • 标签和色叶树状图

    我正在尝试创建一个树状图 我的样本是否有 5 个组代码 充当样本名称 物种 等 但其重复 因此 我有两个问题需要帮助 如何在叶标签中显示组代码 而不是样品编号 我希望为每个代码组分配一种颜色 并根据它为叶子标签着色 它们可能不属于同一分支
  • 如何将 jsfiddle.net 的代码放入我的网站?

    我一直在尝试在网页底部创建一个小框 当滚动时它会展开 弹出 然后当鼠标移开时再次关闭 我找到了这个post带有 jsfiddle net 的链接 我一直在摆弄它 并创建了一些在 JSFiddle 上查看时完全按照我想要的方式工作的东西 但是
  • 将本地 JSON 加载到 AngularJS 中的 Jasmine/Karma 单元测试中

    我正在测试一个回调函数 它接受响应对象作为唯一的参数 该对象是在其他地方发出的 HTTP 请求的响应 因此我不想在此测试中使用 httpBackend 因为该请求与此函数无关 它位于 home js 中 它是我的应用程序主页的控制器 这是正
  • 使用ggplot2如何表示图例中的点和线

    使用 ggplot2 我正在绘制几个函数和一系列点 我不知道如何表示图例上的点 我意识到我需要使用 aes 函数 但我不完全理解如何做到这一点 我很抱歉这个例子太长了 但我不知道如何来说明它 add ggplot2 library ggpl
  • 为什么会出现此错误:冲突的 getline 类型

    有人可以看一下这个并告诉我出了什么问题吗 我有3个错误 error Conflicting types for getline error too few arguments to function call expected 3 have