gpt4 book ai didi

c++ - 在 C++ 中标记字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:04 26 4
gpt4 key购买 nike

我有一个字符串 currentLine="12 23 45"

我需要在不使用 Boost 库的情况下从该字符串中提取 12、23、45。因为我使用的是字符串,所以 strtok 对我来说失败了。我尝试了很多事情仍然没有成功。

这是我最后一次尝试

while(!inputFile.eof())
while(getline(inputFile,currentLine))
{
int countVar=0;
int inputArray[10];
char* tokStr;
tokStr=(char*)strtok(currentLine.c_str()," ");

while(tokstr!=NULL)
{
inputArray[countVar]=(int)tokstr;
countVar++;
tokstr=strtok(NULL," ");
}
}
}

没有strtok的

string currentLine;
while(!inputFile.eof())
while(getline(inputFile,currentLine))
{
cout<<atoi(currentLine.c_str())<<" "<<endl;
int b=0,c=0;
for(int i=1;i<currentLine.length();i++)
{
bool lockOpen=false;
if((currentLine[i]==' ') && (lockOpen==false))
{
b=i;
lockOpen=true;
continue;
}
if((currentLine[i]==' ') && (lockOpen==true))
{
c=i;
break;
}
}
cout<<b<<"b is"<<" "<<c;
}

最佳答案

试试这个:

#include <sstream>

std::string str = "12 34 56";
int a,b,c;

std::istringstream stream(str);
stream >> a >> b >> c;

在这里阅读很多关于 C++ 流的信息:http://www.cplusplus.com/reference/iostream/

关于c++ - 在 C++ 中标记字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com