c++ - C++ 中的 ISSN 格式,空格、布尔函数和数组的问题
问题描述
我试图返回一个要求输入 ISSN 号的布尔函数,如果它是正确 ISSN 的正确格式,它应该返回true
,否则false
。
如您所见,ISSN 必须以 ISSN 开头,然后是 4 位数字 - 然后是另外 4 位数字。但是,我无法处理 ISSN 和数字之间的空格**。另外,我正在考虑使用istringstream
完整的 ISSN,例如:**ISSN 0395-2037****。
这是我的代码:
#include<iostream>
#include<ctype.h>
#include<string>
#include<string.h>
#include <sstream>
using namespace std;
int main()
{
string issn;
string space;
string arr[10];
istringstream is("ISSN 0395-2037");
is >> issn;
is >> space;
for (int i = 0; i < space.length(); i++)
{
arr[i] = space[i];
}
if (issn != "ISSN"
and arr[4] != "-")
{
return false;
}
return 0;
}
我应该将它们全部存储在一个数组中以使其更易于操作吗?
谢谢!
解决方案
推荐阅读
- r - 错误使用 sapply 和 split 在 facet wrap ggplot 上具有不同的 pvalue 和 r^2
- c++ - 在谷歌测试中创建模拟类的向量
- c# - 使用正则表达式替换的 SSIS/C# 中的字符串未更新
- arrays - Angular 5 用于从 JSON API 绑定和过滤数据到下拉列表
- java - 将 sortedInsert 插入具有 Java 属性的单个 LinkedList.of 对象的问题
- python - 如何在 Python 中将 SVG 转换为 PNG 或 JPEG?
- django - 如何让 Django Channels 处理更高的消息频率?
- ruby-on-rails - 制作用于 Rails 和 rest-client gem 的 JWT 令牌问题
- docker - Azure批处理工作目录问题
- rest - 在 RESTful API 中处理对象所有权的最佳实践是什么?