警告:函数“getline”的隐式声明

2023-11-25

嗨,我即将完成课堂项目。我需要根据几个因素对航空公司人员的优先级进行排序。这是我的项目描述:

“一家航空公司使用下面所示的公式来确定乘客的优先顺序 超额预订航班的等候名单。 优先级数 = (A / 1000) + B - C 在哪里 A为客户过去一年的总里程 B 是其常旅客计划的年数 C是代表客户预订时到达位置的序列号 航班。 给定一个超额预订客户的文件,如下表所示,编写一个程序来读取 归档并确定每个客户的优先级编号。然后程序建立一个优先级队列 使用优先编号并按优先顺序打印等待客户的列表。”

我觉得我的代码包含了主要思想,但我在 getline 方面遇到了问题。当我编译代码(如下所示)时,它给了我一个错误: “|24|警告:函数‘getline’的隐式声明 [-Wimplicit-function-declaration]|”

请帮我解决这个问题,以便它可以编译。我已经尝试了很多东西,但没有任何效果。

这是代码:

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    FILE * fp; //create file pointer to be read later
    char * line = NULL;
    int temp,count=0,len=0,mileage[100],read,years[100],sequence[100],priority[100];
    char name[100][100],tempst[100];
    fp = fopen("customers.txt", "r"); //opening the file

    if (fp == NULL)
        exit(EXIT_FAILURE);
    int i;



    while ((read = getline(&line, &len, fp)) != -1) { //start reading file and recording data
        i=0;

        while(line[i]!=' ' || (line[i+1]>='A' && line[i+1]<='z'))
        {
            name[count][i]=line[i];
            i++;
        }
        name[count][i++]='\0';
        mileage[count]=0;

        while(line[i]!=' ')
        {
            mileage[count]=mileage[count]*10+(line[i]-'0');
            i++;
        }
        i++;
        years[count]=0;

        while(line[i]!=' ')
        {
            years[count]=years[count]*10+(line[i]-'0');
            i++;
        }
        i++;
        sequence[count]=0;

        while(line[i]!='\0')
        {
            sequence[count]=sequence[count]*10+(line[i]-'0');
            i++;
        }
        priority[count]=(mileage[count]/1000)+years[count]-sequence[count];
        count++;

    }

    for( i=0;i<count-1;i++) // calculate priority
    {
        for(int j=i+1;j<count;j++)
        {
            if(priority[i]<priority[j])
            {
                temp=priority[i];
                priority[i]=priority[j];
                priority[j]=temp;
                strcpy(tempst,name[i]);
                strcpy(name[i],name[j]);
                strcpy(name[j],tempst);
            }
        }
    }

    for( i=0;i<count;i++) //print priority
    {
        printf("%s %d\n",name[i],priority[i]);
    }
    return 0;
}

#define  _GNU_SOURCE
#include <stdio.h>

or

#define  _POSIX_C_SOURCE 200809L
#include <stdio.h>

应该得到你getline在 GNU 系统上,但可能有另一种方法可以在不同的 POSIX 系统上启用它。

启用后getline就这样,len应输入变量size_t, not int以便&len正确输入为size_t *.

您的项目测试软件可能不支持getlinePOSIX 函数,在这种情况下,您可能需要根据标准 C 函数重新考虑您的设计。

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

警告:函数“getline”的隐式声明 的相关文章

随机推荐

  • 未找到 pg_config 可执行文件

    我在安装 psycopg2 时遇到问题 当我尝试时出现以下错误pip install psycopg2 Error pg config executable not found Please add the directory contai
  • 如何从 MATLAB 执行 dos 命令并将控制权立即返回给 MATLAB(不生成 dos 窗口)

    我想从 MATLAB 在 dos 中执行批处理文件 并将控制权立即返回给 MATLAB 但是 我想在不打开 dos 窗口的情况下执行此操作 或者至少让 dos 窗口在最后消失 如果我像这样格式化我的命令 s dos batchfilenam
  • 如何在 Google 地图 v3 中的折线上放置信息窗口?

    我想知道如何展示infowindow on polyline在使用Google Maps Api V3 并出现在折线的中间 首先 您需要计算折线的中点 中心 这已经在这里讨论和回答了 https stackoverflow com a 90
  • 从枚举中选择一个随机值?

    如果我有一个这样的枚举 public enum Letter A B C 随机选择一个的最佳方法是什么 它不需要是生产质量防弹的 但相当均匀的分布会很好 我可以做这样的事情 private Letter randomLetter int p
  • iPython - 在新选项卡中显示完整数据框

    在 Jupyter 中 使用 Pandas 有没有办法在导航器的新选项卡中显示整个数据框 当我想要控制数据框时 我通常将其导出为 csv 然后在 Excel 中打开 我正在寻找一种更快的方法 但我不愿意将全帧显示到我的笔记本中 因为它使其不
  • 如何知道我的 Android 应用程序已升级以便重置闹钟?

    我注意到 当设置此警报的应用程序已升级时 警报将被禁用 真的吗 到目前为止 我使用的是SharedPreferences with a FIRST RUN键以了解这是否是我的应用程序的第一次运行 如果我找不到这个键 我会启用警报并设置FIR
  • 如何在python中使用flask上传多个文件

    这是我的多个文件上传的代码 HTML 代码 Browse
  • 构建器模式:首选哪种变体? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在阅读 Effecti
  • 使用 SVG 符号隐藏渐变

    我正在使用 SVG 符号this way 但是display noneSVG 的渐变隐藏了图形的渐变 任何想法 在下面的示例中 应该有两个圆圈 但红色的圆圈被隐藏了
  • fpdf分页问题

    我有一个循环打印 6 行 多单元格 约 30 次 问题是 当它到达底部页面时 它会打印多单元格中的 2 或 3 行 并在下一页上打印其他 3 行 如果当前页面上没有足够的空间容纳所有 6 行 我想让它在下一页上打印所有 6 行 我使用这段代
  • 货到付款仅激活管理员(未启用前端)- Magento?

    我现在使用magento有一段时间了 我想知道是否可以启用货到付款选项仅供管理员使用 我想用它作为商店提货 因此 这种方式只能在管理面板中为那些想要商店取货的人创建手动订单 我不希望它显示在 Magento 前端商店中 大家可以帮帮我吗 有
  • 如何在无会话负载平衡环境中配置 dotNetOpenId

    您以前可能已经解决过这个问题 我需要能够在没有会话粘性的环境中使用open id 服务器确实保留标头 我正在使用 ASP NET MVC 和 dotNetOpenId 版本 3 2 0 9177 尽管在返回响应时 第 3 方网站上的身份验证
  • 使用 jQuery 验证插件的自定义方法

    我正在尝试在 Jquery 中使用自定义验证 所有编码部分都是正确的 但我不知道哪里出了问题 这是代码部分 Password
  • WPF 中文本的外斜角效果

    是否可以对 WPF 中的标签文本应用外斜角效果 对我来说 发光效果应该足够了 这是一种在文本上获得发光效果的方法 使用 OutlinedText 控件这个链接其中提供中风
  • 如何获取手机的ICCID号码?

    如何获取手机的ICCID号码 我查看了 TelephonyManager 类 但没有找到获取 ICCID 号码的方法 只有一个方法可以判断 ICC 卡是否存在 我相信getSimSerialNumber 会得到iccid UPDATE对于
  • 清单合并错误 - 支持库版本不同

    我正在添加步进指示器库 https github com badoualy stepper indicator 到我的项目 为此 我将 jitpack 添加到我的项目 gradle 文件中 并将步进指示器库添加到我的应用程序 gradle
  • 使用 Cocoa Pods 导入 Google Analytics iOS SDK 时出错

    起初 我直接导入 Google Analytics iOS SDK 一切正常 然后我开始使用可可豆荚来管理我的所有外部库并收到此错误 Undefined symbols for architecture i386 OBJC CLASS GA
  • 如何在Python中的函数内随机选择函数

    我有两个函数执行不同的操作 但我希望在另一个函数中随机调用它们 eg def func1 do something def funct2 do something else def func3 select funct1 or funct2
  • 使用联接更新 Informix 表

    这是 Informix 更新的正确语法吗 update table1 set table1 code 100 from table1 a table2 b table3 c where a key c key a no b no a key
  • 警告:函数“getline”的隐式声明

    嗨 我即将完成课堂项目 我需要根据几个因素对航空公司人员的优先级进行排序 这是我的项目描述 一家航空公司使用下面所示的公式来确定乘客的优先顺序 超额预订航班的等候名单 优先级数 A 1000 B C 在哪里 A为客户过去一年的总里程 B 是