处理文件、行

Work with files, lines

本文关键字:文件 处理      更新时间:2023-10-16

我对编程很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?

我会这样做。

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)