字符串怎么比较 c++

比如说要比较两个时间:08:05:35和20:56:35和12:35:45和21:40:42;用字符串来装的话;要怎么才能知道那个时间最早,哪个时间最晚?是怎么进行比较的... 比如说要比较两个时间:08:05:35和 20:56:35和12:35:45 和21:40:42
;用字符串来装的话;要怎么才能知道那个时间最早,哪个时间最晚?

是怎么进行比较的,如果不用字符串,还有其他更好的方法吗?
展开
 我来答
流年转岁月换
2018-03-15 · TA获得超过2935个赞
知道大有可为答主
回答量:1473
采纳率:91%
帮助的人:557万
展开全部
  1. 首先看这些时间的显示模式 hh:mm:ss 并且都是24小时,没有12小时制的

  2. 一个时间AA:BB:CC与另外一个时间DD:EE:FF的比较,只要从前面开始,比较单个字符的ascii码谁大就行了[/字典序比较法]

#include<iostream>
using namespace std;
int main()
{
String str1,str2;
while(cin>>str1>>str2)
{
int len = str1.length();
int flag = 0
for(int i=0;i<len;i++)
{
if(str1[i]<str2[i]){
flag = 1;
break;
}
else if(str1[i]>str2[i]){
flag = 2;
break;
}
}
if(flag == 0){
cout<<"一样大"<<endl;
}
else if(flag == 1){
cout<<"str2大"<<endl;
}else{
cout<<"str1大"<<endl;
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cbad167
2014-08-02 · TA获得超过309个赞
知道小有建树答主
回答量:388
采纳率:66%
帮助的人:295万
展开全部

给你一个例子参考.

时间先后可否比较?例如判断当前时间是否在10:57:40之后?
       CString str1,str2;
       CTime time1=CTime::GetCurrentTime();
       int nYear=time1.GetYear();
       int nMonth=time1.GetMonth();
       int nDay=time1.GetDay();
       int nHour=time1.GetHour();
       int nMinute=time1.GetMinute();
       int nSecond=time1.GetSecond();
 
       CTime time2(nYear,nMonth,nDay,10,57,40);
       if (time1>time2 )
        AfxMessageBox("1");
       else 
        AfxMessageBox("2");
追问
我发现有的网友是这样写的:
cin>>tr>>tl;
if(timemin>=tr)timemin=tr;
if(timemax<=tl)timemax=tl;

这样的,你怎么看?
是不是什么字符都可以参照acsii表做比较;包括里面的 ”:”我就是不理解这个冒号改怎么办,原来我还想放在int数组里然后从头到尾一个个比较大小;
看到人家的那么简单;我就震惊了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-03
展开全部
#include<iostream>
using namespace std;
int main()
{int a;
char str1[20]="08:05:35";
char str2[20]="20:56:35";
a=strcmp(str1,str2);
cout<<a<<endl;
return 0;
}
追问
可以直接用大于等于那些数学符号吗?
请看我对前一位网友的追问
追答
可以的,因为计算机里的字符数字都是按ascii码编译的
ascii码对数字的排序也是从小到大的
看小面askii码的介绍,注意数字的排序 其实英文字母也是按abcd。。排序的
http://baike.baidu.com/view/15482.htm
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
往往90
2018-03-15 · 超过26用户采纳过TA的回答
知道答主
回答量:111
采纳率:62%
帮助的人:33.9万
展开全部
#include<stdio.h>
#include<time.h>
int main(void)
{
    time_t timep; //秒数
    struct tm p={};//初始化你的时间
   
    timep=mktime(p);
    
    (秒数1 - 秒数2)
    
    printf("time()->localtime()->mktime():%d\n",timep);
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独人老1c
2018-03-15 · TA获得超过190个赞
知道小有建树答主
回答量:152
采纳率:87%
帮助的人:27.4万
展开全部
#include
strcmp(str1,str2);
这是比较c风格字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式