C++ 按指定分隔符拆分字符串

本文介绍了如何利用C/C++中的strtok函数进行字符串解析。通过两个实例展示了strtok的基本用法:一是按空格分割句子;二是从日期字符串中提取年、月、日。这些示例有助于理解strtok函数的工作原理及其在实际编程任务中的应用。
strtok函数可以帮忙,以下是例子:

例1:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
  char sentence[]="This is a sentence with 7 tokens";
  cout<<"The string to be tokenized is:\n"<<sentence<<"\n\nThe tokens are:\n\n";
  char *tokenPtr=strtok(sentence," ");
  while(tokenPtr!=NULL)
  {
  cout<<tokenPtr<<'\n';
  tokenPtr=strtok(NULL," ");
  }
  cout<<"After strtok, sentence = "<<sentence<<endl;
  return 0;
}


例2:

#include <iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
    string strDate;
    char arrDate[10];
    int year = 0;
    int month = 0;
    int day = 0;
    while(cin>>strDate){
        strcpy(arrDate,strDate.c_str());
        
        char *tokenPtr=strtok(arrDate,"/");
        year = atoi(tokenPtr);
        tokenPtr=strtok(NULL,"/");
        month = atoi(tokenPtr);
        tokenPtr=strtok(NULL,"/");
        day = atoi(tokenPtr);
        cout<<year<<" "<<month<<" "<<day<<endl;
    }
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值