为什么会出现此错误:冲突的 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 类型 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 无法将提供商注入 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