C++;获取文件行并读取该行第二个字的代码? #包括 #包括 #包括 使用名称空间std; 字符串strWord(整数索引,字符串行) { 整数计数=0; 字符串字; 对于(int i=0;i你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。 < p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。
我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。您有用于C的交互式调试器吗例如,如果你把这个代码加载到微软Visual C++中,你可以一次一个地通过程序一个语句,检查每个变量的值。这是一个很好的方法来学习一个新代码在细节级别上的作用。 < P>你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。 < p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。 主程序打开一个文件,每行包含一个id和另一个单词,并使其随时可以读取 然后它向用户请求一个id,检查该id是否是文件中任何一行中的第一个单词。如果是,则从该行中获取第二个单词并打印它 仅此而已。询问您是否对某一行或一组行有问题C++;获取文件行并读取该行第二个字的代码? #包括 #包括 #包括 使用名称空间std; 字符串strWord(整数索引,字符串行) { 整数计数=0; 字符串字; 对于(int i=0;i你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学习一个新的代码在细节级别上的作用。 < p>有一个叫做STRUTE的函数从一个句子中提取任何索引并返回它。,c++,C++,我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。我读得不太仔细,但它似乎打印出了第二行的第二个字,其中第一个字是用户输入的。您有用于C的交互式调试器吗例如,如果你把这个代码加载到微软Visual C++中,你可以一次一个地通过程序一个语句,检查每个变量的值。这是一个很好的方法来学习一个新代码在细节级别上的作用。 < P>你有一个C++的交互式调试器吗?例如,如果你把这个代码加载到微软VisualC++,你可以一步一步地通过程序,检查每个变量的值。这是一个很好的方法来学
或者像格雷格建议的那样,使用调试器。这是理解任何逻辑的最简单方法。有一个名为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