从文件中读取字符串

时间:2017-04-21 03:52:03

标签: c++ string file

我已经坚持了一段时间。我正在尝试从文件中读取字符串。 该字符串包含注释(A,G,C,B等),后面可能跟有某些值。例如,当音符后跟'〜'时,音符的持续时间增加了20(A ~~将预设持续时间加40)。其他可能的输入: A(4)应该将频率改变+4。 B#应该将频率改变+20。

输入看起来像这样:B(4)~F#(5)~~~ Aa

我开始做以下操作,但我似乎无法弄清楚如何在注释后每增加一个'〜'来增加频率。

string a;
for (int i = 0; i < a.length(); a++)
{
    if(a.at(i) == 'C')
    {
        frequency = 440;
        duration = 10;

        if(a.at(i++) == '~')
        {
            frequency += 20;
        }
    }
Values(frequency, duration)

}

1 个答案:

答案 0 :(得分:0)

只有在a.at(i)== C时才会检测到'〜'循环中的点,并且只测试i ++。在条件中添加=='〜'循环:

if(a.at(i++) == '~'){
    while(a.at(i) == '~'){
        frequency += 20;
        i++;
    }
}