首页 > 解决方案 > 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;
}

我应该将它们全部存储在一个数组中以使其更易于操作吗?

谢谢!

标签: c++arraysstring

解决方案


推荐阅读