码迷,mamicode.com
首页 > 编程语言 > 详细

PTA L1-042 日期格式化(将字符数组转换为string类型)

时间:2020-03-08 21:44:03      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:detail   https   日期   ring   problem   ret   str   return   lse   

原题
主要通过这题介绍 C++ 中如何将字符数组与字符串的相互转换

参考博客

字符数组转字符串:

char a[1000];
string s(&a[i],&a[j]);//i为要转化的其实位置,j为末尾位置加一

字符串转字符数组

#include<bits/stdc++.h>
using namespace std;
char a[15];
int main()
{
    string s;
    cin>>s;
    strncpy(a,s.c_str(),s.length()+1);//字符强制转化为字符串函数,末尾同样加一
    cout<<a;
}

AC代码:

#include<bits/stdc++.h>
using namespace std;
char s[1000];
int main()
{
      string a,b,c;
      cin>>s;
      int n=strlen(s),flag=1,x;
      string S(&s[2],&s[6]);//将字符数组转换为字符串
      cout<<S<<endl;
      for(int i=0;i<n;i++)
      {
         if(s[i]=='-'&&flag)
         {
           a=S.substr(0,i);
           x=i;
           flag=0;
         }
         else if(s[i]=='-')
         {
           b=S.substr(x+1,i-x-1);
           x=i;
           break;
         }
      }
      c=S.substr(x+1);
      cout<<c<<'-'<<a<<'-'<<b;
return 0;
}

其实这题可以直接将原字符数组转换为三个字符串,不用上面这么麻烦....

PTA L1-042 日期格式化(将字符数组转换为string类型)

标签:detail   https   日期   ring   problem   ret   str   return   lse   

原文地址:https://www.cnblogs.com/Pecoz/p/12444888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!