gpt4 book ai didi

c++ - 在文本文件中查找特定字符?

转载 作者:太空宇宙 更新时间:2023-11-04 05:18:51 24 4
gpt4 key购买 nike

我有一个如下所示的文本文件:

全梯机

3 个输入

输入(A)

输入(B)

输入(Cin)

现在我需要知道输入的名称,即“A”、“B”和“Cin”。我能够打开文件并阅读它。但是我得到了奇怪的输出。我的代码如下:

// Finding the names of inputs
if(buffer[i] == 'I' && buffer[i+1]=='N' && buffer[i+2]=='P' && buff er[i+5]=='(')
{
if( buffer[i+7]==')' ) // i.e. single digit Input name
{
char inputName[1];
inputName[0] = buffer[6];
string name(inputName);
cout<<"\n Name of inputs: "<<inputName[0]<<"\n";
}

else if( buffer[i+8]==')' ) // To check is the value of value of inputs consists of one digit or two digit
{

char inputName[2];
inputName[0] = buffer[6]; inputName[1] = buffer[7];
string name(inputName);
cout<<"\n Name of inputs: "<<inputName[0]<<inputName[1]<<"\n";
}

else if( buffer[i+9]==')' ) // i.e. three digit Input name
{
char inputName[3];
inputName[0] = buffer[6]; inputName[1] = buffer[7]; inputName[2] = buffer[8];
string name(inputName);
cout<<"\n Name of inputs: "<<inputName[0]<<inputName[1]<<inputName[2]<<"\n";
}


}

但我得到以下输出:

输入名称:a

输入名称:a

输入名称:添加

最佳答案

当您从缓冲区复制字符时,您忘记了用 i 偏移 then。例如:

inputName[0] = buffer[6];

应该是:

inputName[0] = buffer[i+6];

关于c++ - 在文本文件中查找特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245159/

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