从“int”到“char *”的转换无效

2023-12-02

我想编写一个程序,该程序将从文本文件中读取并使用结构存储文本文件中的内容,然后重新组合并打印出文本文件中的信息。但我遇到了问题getline。我试着写getline像这样

getline(infile, info.name)

但它不起作用。我还包括<string> and <cstring>但我仍然遇到类似的错误

错误 C2664: 'std::basic_istream<_elem> &std::basic_istream<_elem>::getline(_Elem *,std::streamsize)' : 无法将参数 1 从 'int' 转换为 'char *'

and

错误 C2664: 'std::basic_istream<_elem> &std::basic_istream<_elem>::getline(_Elem *,std::streamsize,_Elem)' : 无法将参数 1 从 'char [10][80]' 转换为 'char *'

我要打印的文本文件如下

陈伊莎贝拉
新加坡共和国
天秤座 23 - 10 - 1993年
7
我希望在c++方面表现出色
我希望 克里斯蒂娜·格里米将赢得声音
我希望 ......

很抱歉提出这个菜鸟问题,并提前致谢!

   #include <iomanip>
   #include <iostream>
   #include <cstdlib>
   #include <ctime>
   #include <cctype>
   #include <fstream>
   #include <string>

   using namespace std;

   const int MAX = 80;
   const int MAXNO = 10;
   enum Zodiac 
   {
            Aquarius, Pisces, Aries, Taurus,
            Gemini, Cancer, Leo, Virgo,
            Libra, Scorpio, Sagittarius, Capricorn
   };
   struct Date
   {
       Zodiac sign;
       int day;
       int month;
       int year;
   };
   struct Student
   {
           char name [MAX];
       char nationality [MAX];
       Date birthDate;
       int no; // no of other messages
       char wishMessage [MAXNO][MAX];
       // Feel free to add in more features
   };

   void myInfo (fstream&, char [], Student&);
   // The above function reads information from the text file
   // and store the information in a structure reference parameter

   void printOut(Student);

   int main()
   {
       fstream infile;
       char fName[MAX];
       Student info;
       cout << "Enter your info file name: "
       cin  >> fName; 
       cout << endl;

       myInfo(infile, fName, info);
       printOut(info);

   }

   void myInfo (fstream& infile, char fName[], Student& info)
   {
          infile.open(fName, ios::in);

      if(!infile)
      {
           cout << "Error file not found!" << endl;
           exit(0);
      }
       infile.getline(info.name, MAX);
       infile.getline(info.nationality,MAX);
       infile  << info.birthDate.sign
           << info.birthDate.day
           << info.birthDate.month
           << info.birthDate.year;
       infile.getline(info.no, MAX);
       infile.getline(info.wishMessage, MAXNO, MAX);

       infile.close();
       cout << "Successfully readed!" << endl;

   }

   void printOut(Student info)
   {
       cout << "My name is " << info.name << endl;
       cout << "My nationality is " << info.nationality << endl;
       cout << "My date of birth is " << info.birthDate.day 
            << " " << info.birthDate.month << " " 
        << info.birthDate.year << endl;
       cout << "I am " << info.birthDate.sign << endl;
       cout << "\n I have " << info.no << " wishes:" << endl;

   }

看来您正在尝试使用 getline 读入非字符串,而它正在按照以下方式读入字符串文档.

从流中提取字符作为未格式化的输入,并将它们作为 c 字符串存储到 s 中,直到提取的字符是分隔字符,或者 n 个字符已写入 s(包括终止空字符)。

这里有两行有问题的行:

infile.getline(info.no, MAX);

and

infile.getline(info.wishMessage, MAXNO, MAX);

前者读入int,后者读入字符串数组。

您需要先读入字符串,然后根据需要进行相应的转换操作。

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

从“int”到“char *”的转换无效 的相关文章

  • C# 打印问题(RichTextBox)

    我想打印我的 RichTextBox eintragRichTextBox 的内容 我现在有这个代码 private void druckenPictureBox Click object sender EventArgs e PrintD
  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • C++ 中 void(*)() 和 void(&)() 之间的区别[重复]

    这个问题在这里已经有答案了 在此示例代码中 func1是类型void int double and funky是类型void int double include
  • 通过 Tab 键浏览 XML 文档字段

    In VB NET you can move through the fields in the XML member documentation with the Tab key 这在 C 中不起作用 还有其他方法吗 除了用鼠标将光标放在
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC

随机推荐

  • GetFileVersionInfo() 返回错误的文件版本信息

    我有一个应用程序需要检查各种系统 EXE 和 DLL 的版本以确定它们是否容易受到攻击 这是一个本机 C 应用程序 在其清单中不提供任何特定的 WinSxS 链接 在 Windows 7 上 当我在绝对路径 例如 c windows sys
  • 编写函数将某些列更改为小写

    我正在尝试编写一个函数 该函数允许我将数据框中某些字段的大小写更改为小写 我试图通过使用 function for 和 tolower 命令来做到这一点 但我没有任何运气 我对 R 还很陌生 所以我可能会遗漏一些明显的东西 我将不胜感激任何
  • 将具有动态高度的 div 移出其父容器

    我正在尝试将高度动态变化的 div 移出其父 div 并返回 问题是动态高度 否则我可以轻松地将负高度设置为底部值 现在我只是将一个很大的负数像素设置为底部值 但这不是很好 也不能正确解决问题 从逻辑上讲 这种情况发生在少数人身上 fidd
  • 这个计算每个元音出现次数的 C 程序有什么问题?

    PROBLEM 编写一个 C 程序 提示用户输入一串以 ENTER 键结尾的字符 即 n 然后统计该字符串中每个元音出现的总数 您的程序应遵循以下准则 你的程序应该声明一个由5个整型计数器组成的数组 即counter 使用循环 您的程序应将
  • 编写一个 c 函数,在给定特定范围的情况下生成一个随机数、一对随机数或一组随机数

    我必须为 3 种不同的情况生成随机数 我 1 个骰子 二 一对骰子 三 3 个骰子 我的问题 1 请建议我为所有 3 种情况生成随机数的良好逻辑 2 当我考虑2个骰子而不是1个骰子的cses时 逻辑会改变吗 3 我们生成随机数的范围对随机函
  • 如何在社交媒体应用中阻止 Firebase 上的用户?适用于 iOS

    在此输入图像描述我的应用程序完成度约为 90 并已准备好发布它 以便可以发布它进行测试 我被苹果拒绝了 因为我没有一个非常重要的功能 一种让用户阻止滥用用户的机制 我已经有了一个可以关注其他用户的功 能 但我一直困惑于如何阻止访问 这样当一
  • 如何在ELB后面的tomcat上重定向到https

    我在 AWS 上有以下设置 ELB 终止 SSL gt nginx 在 80 上接收 http 并转发到 gt 8080 上的 tomcat 但是当我在 servlet 中执行 response sendRedirect somepath
  • 使用正则表达式从 html 中提取电子邮件

    我正在尝试使用正则表达式从中提取任何 jabber 帐户 电子邮件 这一页 我尝试过使用正则表达式 w w w w w 但它没有产生预期的结果 这可能有效 s lt gt s lt gt s lt gt p re compile ur s
  • 分解(转置?)Spark SQL 表中的多列

    我正在使用 Spark SQL 我提到它在 Spark 中 以防影响 SQL 语法 我还不够熟悉 无法确定 并且我有一个正在尝试重新构造的表 但我尝试同时转置多列时遇到困难 基本上我的数据看起来像 userId someString var
  • 如何修复 Google OAuth API - (403) 您的 API 密钥上配置了按 IP 或按引用者限制

    我最近将一个项目转移到另一台服务器 域名是一样的 只是指向了新服务器 网址完全相同 然而 自从移动项目以来 当应用程序尝试连接到 google OAuth api 时 我收到此错误 name Error calling GET https
  • CSS 自定义光标在 FF/Chrome 中不起作用

    我正在尝试使用下图创建自定义光标 http anuary com dev hp pad3 public images hand cursor png 必须保留图像大小 我试过简单地使用body cursor url http anuary
  • Ansible 列表列表 - 扁平化

    我在剧本中使用 set fact 来使用 regex findall 收集数据 我用正则表达式取出两个组 最终结果变成一个列表列表 set fact nestedList myOutput stdout 0 regex findall n
  • 找出构成四边形的点的顺序

    给予的同时一个答案 to 给定四个坐标检查它是否形成正方形 我碰到这个答案 它检查平行四边形 然后检查直角 这有效 但前提是输入的点按一定顺序排列 即 P1 和 P3 必须彼此 相对 而不是相邻 那么 问题来了 如果输入的四个点可以按任何顺
  • 位置“/”处的匹配叶路由没有元素

    位置 处的匹配叶路由没有元素 这意味着默认情况下它将呈现一个空值 从而导致 空 页面 App js File import BrowserRouter as Router Routes Route from react router dom
  • 如何使用 Silverlight 4.0 且不使用 EF 设置 RIA 服务

    作为 Silverlight 新手 我发现设置 RIA Web 服务非常困难 网络上提供的示例几乎总是将实体框架称为 ORM 但我们使用 NHibernate 作为 ORM 我知道 Brad Abrams 的教程 他使用 NHibernat
  • Django ManyToManyField 引用其他应用程序返回“app.model.None”

    我试图从另一个应用程序获取模型 ManyToManyField 并创建一个列表 但在尝试在模板中调用它时它返回 app1 Model None app1 models class Illness models Model title mod
  • 将 1000 位数字与 10 位数字交换 (C)

    我正在尝试切换 例如 输入 54321 987 然后 4 和 2 应该切换 因此输出将为 52341 987 54321 777 应变为 52341 777 如果是 2345 777 则应为 4325 777 除此之外的任何事情我都不关心
  • 将设备中分配的数据从设备复制到主机

    我有一个在设备中动态分配的指针 那么如何将其从设备复制到主机 include
  • 绘制堆积条形图?

    我有以下数据 structure list Time c 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 2L 2L 2L 2L 2L 2L 2L 2L 2L 2L 2L 2L 3L 3L 3L 3L 3L 3L 3
  • 从“int”到“char *”的转换无效

    我想编写一个程序 该程序将从文本文件中读取并使用结构存储文本文件中的内容 然后重新组合并打印出文本文件中的信息 但我遇到了问题getline 我试着写getline像这样 getline infile info name 但它不起作用 我还