Я пытаюсь ввести новую строку каждый раз, когда счетчик приходит к 4 ИЛИ если я сталкиваюсь с этим символом ']'.Проблема синтаксического анализа
Прямо сейчас, я могу получить свой код для создания новой строки каждый раз, когда мой счет равен 4, но когда я добавляю условие для ']', я получаю новую строку на каждой итерации. Я думаю, что это может быть вызвано моим chartDataString.find (']'), но я не уверен, как это исправить.
вы можете увидеть проблему с этим кодом ?:
int barCount = 0;
size_t start = 0;
size_t n = 0;
int charCount = 0;
while ((start = chartDataString.find(" |", start)) != string::npos) {
++barCount;
start+=2;
charCount++;
if (barCount == 4 || chartDataString.find("]")) {
//cout<<"Number of bars: "<<barCount<<endl;
chartDataString.insert(start, "\n");
barCount = 0;
charCount= 0;
}
}
Я думаю, что фактическая позиция для поиска может быть 'start', а не' charCount', судя по другой логике. Кроме этого, я считаю, что у вас есть правильная идея. –