C++;获取文件行并读取该行第二个字的代码? #包括 #包括 #包括 使用名称空间std; 字符串strWord(整数索引,字符串行) { 整数计数=0; 字符串字; 对于(int i=0;i你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。 < p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。

C++;获取文件行并读取该行第二个字的代码? #包括 #包括 #包括 使用名称空间std; 字符串strWord(整数索引,字符串行) { 整数计数=0; 字符串字; 对于(int i=0;i你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。 < p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。,c++,C++,我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。您有用于C的交互式调试器吗例如,如果你把这个代码加载到微软Visual C++中,你可以一次一个地通过程序一个语句,检查每个变量的值。这是一个很好的方法来学习一个新代码在细节级别上的作用。 < P>你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学

我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。

我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。

您有用于C的交互式调试器吗例如,如果你把这个代码加载到微软Visual C++中,你可以一次一个地通过程序一个语句,检查每个变量的值。这是一个很好的方法来学习一个新代码在细节级别上的作用。

< P>你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。

< p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。 主程序打开一个文件,每行包含一个id和另一个单词,并使其随时可以读取

然后它向用户请求一个id,检查该id是否是文件中任何一行中的第一个单词。如果是,则从该行中获取第二个单词并打印它

仅此而已。询问您是否对某一行或一组行有问题


或者像格雷格建议的那样,使用调试器。这是理解任何逻辑的最简单方法。

有一个名为strWord的函数,它从句子中提取一个带任何索引的单词并返回它

主程序打开一个文件,每行包含一个id和另一个单词,并使其随时可以读取

然后它向用户请求一个id,检查该id是否是文件中任何一行中的第一个单词。如果是,则从该行中获取第二个单词并打印它

仅此而已。询问您是否对某一行或一组行有问题

或者按照格雷格的建议,使用调试器。这是理解任何逻辑的最简单方法。

也许这有助于:

#include <iostream>
#include <string>
#include <fstream>

using namespace std ;


string strWord( int index , string line)
{
       int count = 0;
       string word;
       for ( int i = 0 ; i < line.length(); i++)
       {
           if ( line[i] == ' ' )
           {
                if ( line [i+1] != ' ')
                {

                    count ++;
                    if (  count == index)
                    {
                       return word;
                    }
                    word ="";
                }
           }
           else
           {
                word += line[i];
           }       
       }
}







int main ( )
{
    ifstream inFile ;
    inFile.open("new.txt");
    string line  , id;

    cout <<"Enter id : ";
    cin >>id;
    while(!inFile.eof() )
    {
                        getline ( inFile , line );
                        if ( strWord ( 1, line ) == id ) 
                        {
                             cout <<strWord ( 2 , line ) <<endl;
                             break;
                        }
    } 
    system("pause");
}
//从第行返回单词[index]
字符串strWord(int索引,字符串行)//单词索引和实际行
{
int count=0;//当前单词索引
字符串字;//字缓冲区(返回值)
for(int i=0;i
例如,当行以空格开头时,上述算法会失败。因此,这里有许多关于in数据的假设需要解决,例如,如果索引无效或in-line为空,则不进行处理。如果函数失败,则会丢失最后一个返回值。

这可能有助于:

#include <iostream>
#include <string>
#include <fstream>

using namespace std ;


string strWord( int index , string line)
{
       int count = 0;
       string word;
       for ( int i = 0 ; i < line.length(); i++)
       {
           if ( line[i] == ' ' )
           {
                if ( line [i+1] != ' ')
                {

                    count ++;
                    if (  count == index)
                    {
                       return word;
                    }
                    word ="";
                }
           }
           else
           {
                word += line[i];
           }       
       }
}







int main ( )
{
    ifstream inFile ;
    inFile.open("new.txt");
    string line  , id;

    cout <<"Enter id : ";
    cin >>id;
    while(!inFile.eof() )
    {
                        getline ( inFile , line );
                        if ( strWord ( 1, line ) == id ) 
                        {
                             cout <<strWord ( 2 , line ) <<endl;
                             break;
                        }
    } 
    system("pause");
}
//从第行返回单词[index]
字符串strWord(int索引,字符串行)//单词索引和实际行
{
int count=0;//当前单词索引
字符串字;//字缓冲区(返回值)
for(int i=0;i

例如,当行以空格开头时,上述算法会失败。因此,这里有许多关于in数据的假设需要解决,例如,如果索引无效或in-line为空,则不进行处理。如果函数失败,则还缺少最后一个返回值。

您想要对每行进行注释吗

// return word[index] from line
string strWord( int index , string line) // word index and actual line
{
  int count = 0; // current word index
  string word; // word buffer (return value)

  for ( int i = 0 ; i < line.length(); i++) // loop through each character in line
  {
    if ( line[i] == ' ' ) // if current character is a space
    {
      if ( line [i+1] != ' ')  // but next char is not space, we got a word
      {
        count ++; // incr current word index counter in line
        if (  count == index) // if count == looked for index return word
        {
          return word;
        }
        word ="";  // otherwise reset word buffer
      }
    }
    else // character is not space
    {
       word += line[i]; // add letter/digit to word buffer
    }       
  }
}
//从位置为“index”的“line”返回单词的函数
//注意,这不是一个从零开始的索引,第一个单词是1,
//第二个是2等。。
字符串strWord(整数索引,字符串行)
{
int count=0;//读取的字数
字符串字;//结果字
对于(int i=0;i