首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何实现c++电话号码格式:(000)-000-000?

如何实现c++电话号码格式:(000)-000-000?
EN

Stack Overflow用户
提问于 2017-02-19 03:47:10
回答 3查看 747关注 0票数 0
代码语言:javascript
运行
复制
#include <iostream>
#include <string>
#include <sstream>
using namespace std;

std::wstring inputfield;

void function(uint32_t val)
{
    std::wstring keystring;
    keystring = std::to_wstring(val);    
    inputfield = inputfield + keystring; 
    std::wstringstream s;
    s << L"(" << inputfield << L") ";
    std::wstring str = s.str();
    std::wcout << str << "\n";
    return;
}

int main()
{
    uint32_t x ;
    while(cin>>x)
    {
        function(x);
        cout<< *(&x)<< endl;
    }
    return 0;
}

我正在尝试字符串格式,以获得类似(000)-000-000或美国电话号码格式的输出,但我无法实现,请帮助,谢谢

EN

Stack Overflow用户

发布于 2017-02-19 04:17:12

如果您想更改字符串000000000或simillar (您确实这样做了,即使输入是数字,也只需使用std::to_string将其转换),那么只需在适当的位置添加几个字符即可。

代码语言:javascript
运行
复制
std::string format_number(std::string str) {
    if(str.size() != 9) {
        throw std::logic_error{"Phone number is not 9-characters long"};
    }

    str.insert(str.begin(), '(');
    str.insert(str.begin() + 4, ')');
    str.insert(str.begin() + 5, '-');
    str.insert(str.begin() + 9, '-');

    return str;
}
票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42319907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档