#include <iostream>
#include <cmath>
#include <cstdlib>
#include <climits>
#include <cfloat>
#include <cstring>
#include <string>
using namespace std;
struct news
{
char a[10];
int n;
float r;
};
int main()
{
news k;
cin >> k;
cout << k.a << endl;
cout << k.n << endl;
cout << k.r << endl;
return 0;
}
它给了我一个错误的全屏幕。有人知道如何解决这个问题吗?非常感谢。
测验cc:In函数“int main()”:测试。抄送:20:错误:与“运算符”不匹配
这不会自动发生,因为cin不知道输入的格式,也不知道输入应该如何分配给新闻对象的成员。您必须分别向其每个成员阅读:
cin >> k.a >> k.n >> k.r;
您也可以提供一个操作符
istream& operator>>(istream& in, news& cPoint)
{
in >> k.a >> k.n >> k.r;
return in;
}
创建朋友
函数重载:
friend std::istream& operator >>(std::istream& is, news const& n)
{
return in >> n.a >> n.n >> n.r;
}
以下是您的程序的外观:
#include <iostream>
struct news
{
char a[10];
int n;
float r;
friend std::istream& operator >>(std::istream& is, news& n)
{
return is >> n.a >> n.n >> n.r;
}
};
int main()
{
news k;
std::cin >> k;
std::cout << k.a << std::endl;
std::cout << k.n << std::endl;
std::cout << k.r << std::endl;
}
现场演示
当我使用opencsv读取csv文件时,它在字符串末尾遇到\时无法正常工作。它使字符串的"部分,而不是'\',因为我想。我想一定有什么方法可以添加另一个\,让它转义\字符?无需手动编辑csv文件。我找过了,但什么也没找到。 为了澄清我的问题,看起来是这样的: csv文件 我的代码看起来像这样(不是真的,但它显示了我的问题): 我想把它解析成一个String[],每行有4个元素,但是最后一行只解析成
问题内容: 当我使用opencsv读取csv文件时,在字符串末尾遇到“ \”时,它无法正常工作。它使字符串的一部分成为“”,而不是我想要的“ \”。我猜必须使用某种方法来添加另一个“ \”以使其转义为“ \”字符吗?而 无需 手动编辑csv文件。我已搜索但未找到任何内容。 为了澄清我的问题,它看起来像这样: CSV文件 我的代码看起来像这样(不是真的,但是它显示了我的问题): 我希望将此解析为每行
主要内容:输入单个字符,输入字符串,总结C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。 getchar()、getche()、getch():这三个函数都用于输入单个字符。 gets():获取一行数据,并作为字符串处理。 scanf() 是最灵活、最复杂、最常用的输入函数,上节我们已经进行了讲解,本节接着讲解剩下的函数,也就是字符输入函数和字符串
例如: 我需要将所有的“id”变量从“dataList”输入“idList”。诸如此类 但如何以更好的方式对此进行优化? 我试图创建本地列表,用ID填充它,然后将其交给“idList”。但我认为这种方法并没有得到优化
与结构向量相比,我有一个过滤掉字符串输入vec的工作解决方案。但是,我的代码似乎很复杂,我尝试使用iter::filter(https://doc.rust-lang.org/stable/std/iter/struct.Filter.html)简化代码。这引起了问题,因为迭代器返回的值是引用,不能直接使用。似乎我对iter的理解以及在结构向量中可以做什么需要刷新。下面是工作的简化过滤代码: 有没
问题内容: 在Python中,如何将像这样的数字字符串解析为对应的浮点值?或者将字符串解析为整数31? 我只想知道如何将解析为,以及(分别)将解析为。 问题答案: