使用文件,行

时间:2013-11-02 10:57:36

标签: c++ visual-studio-2010

我很喜欢C ++编程,需要你的帮助 需要将每个句子分配给变量句[i]
并非所有字母都已分配。为什么呢?

代码错误:

int k = 0;
char t[256];
string sentence[1024], s;
while(!in_file.eof())
{
    in_file.getline(str, num);

    for(int i = 0; i < strlen(str); i++)
    {
        if(str[i] != '.')
        {
            sentence[k] += str[i];
            i++;
        }
        else
        {
            sentence[k] += str[i];
            k++;
            i++;
        }
    };

}
    for(int i = 0; i < k; i++)
        cout << "Sentence" << i+1 << ": " << sentence[i] << endl;

结果:

My text from file:
У лукоморья дуб зеленый,
Золотая цепь на дубе том.
И днем, и ночью кот ученый
Все ходит по цепи кругом.

Sentence 1: Улкмрядбзлнй Злтяцп адб о.  // why?
Sentence 2: Иде,инчюктуеы Вехдтп еикуо. // why?

1 个答案:

答案 0 :(得分:0)

我会这样做。

while( k < 1024 && in_file.getline( sentence[k],'.' ) )
{
    sentence[k] += '.';
    k++;

}
    for(int i = 0; i < k; i++)
        cout << "Sentence" << i+1 << ": " << sentence[i] << endl;

这里运行正常http://ideone.com/lMnnW2(使用std :: cin而不是in_file)