gpt4 book ai didi

c++ - 提取符号之间的字符串

转载 作者:行者123 更新时间:2023-11-30 04:27:45 25 4
gpt4 key购买 nike

其实我是想利用游记这个方法把信息提取出来但是我做起来有问题,我希望你们能够帮助我我在尝试提取 ""之间的字符串时遇到问题,例如 "hello"来提取你好。以下是我的方法。

游记法

char *Travels(char Destination, char *originPtr)
{
do
{
originPtr++;
}while (*originPtr != Destination);

originPtr++;
return originPtr;
}

主要是

int main()
{
//pointer for reading of file
char *startPtr1;
char Lines[256];

//read file and perform
ifstream chordfile("myfile.txt");
if (chordfile.is_open())
{
do
{
chordfile.getline(Lines, 256);
startPtr1 = Lines;
readFileInput(startPtr1);

}while(chordfile.eof() == false);
chordfile.close();
}

return 0;
}

在我的 readFileInput 方法中(我将展示部分方法)

//if it is insert.
if (strcmp(Stringg, "insert") == 0)
{
char *SpecialPtr1;
currentPtr1=Travels(' ',startPtr1); // travels to Insert(*) 7 "your_data"
int insertPeerNum = (int)atoi(currentPtr1); // travels to Insert (7) "your_data"
currentPtr1=Travels(' ',currentPtr1); // travels to Insert 7(*)"your_data"
currentPtr1=Travels('"',currentPtr1);
SpecialPtr1=Travels('"',currentPtr1);
*******this is the area which I am actually stucked at**********
}

在文本文件中

Insert 7 "your_data"
Insert 7 "hello"

最佳答案

因为你没有指定homework标签,我建议你使用std::string。这种数据结构带有许多搜索和子字符串组合。

例如查找双引号之间的文本:

#include <string>

//...

std::string::size_type start_position = 0;
std::string::size_type end_position = 0;
std::string text = "My \"cat\" is black.\n";
std::string found_text;

start_position = text.find("\"");
if (start_position != std::string::npos)
{
++start_position; // start after the double quotes.
// look for end position;
end_position = text.find("\"");
if (end_position != std::string::npos)
{
found_text = text.substr(start_position, end_position - start_position);
}
}

关于c++ - 提取符号之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10681112/

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