rt
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<map>
using namespace std;
char incmd[500005];
string teacher,stu;
string name,command;
map<string,int> teamark,stumark;
int main(){
int n;
cin>>n;
for(int i=1;i<=3;++i){
cin>>teacher;
teamark[teacher] = 10000;
}
for(int i=1;i<=5;++i){
cin>>stu;
stumark[stu] = 10000;
}
for(int i=1;i<=n;++i){
name.erase();
command.erase();
gets(incmd);
//sscanf(incmd,"%s %s",name,command);
for(int j=0;j<strlen(incmd);++j){
//cout<<(int)incmd[j]<<" ";
if(incmd[j]==' '){
for(int k=j+1,ck=0;k<strlen(incmd),ck<(strlen(incmd)-(j+1))+1;++k,++ck){
command[ck] = incmd[k];
}
for(int k=0;k<j;++k){
name[k] = incmd[k];
}
break;
}
}
cout<<name.empty()<<" "<<command.empty()<<"\n";
//if(name.empty()==1 || command.empty()==1) continue;
cout<<"name:"<<name.c_str()<<" command:"<<command.c_str()<<"\n";
}
return 0;
}
(代码是半成品,没写完)
这里的name和command字符串,用
cout<<name.empty()<<" "<<command.empty()<<"\n";
cout<<"name:"<<name.c_str()<<" command:"<<command.c_str()<<"\n";
这两行输出之后,第一行全返回true,但是第二行又有内容
说明这两个字符串有内容
但是为什么empty返回true?
求助dalao
附上运行结果
