Ternick
@Ternick

Почему в конце ответа функции два перехода на новую строку и как их убрать?

КОД:
string python_shell(string code) {
	string command = "py -c " + code;
	FILE* fp = _popen(command.c_str(), "r");
	if (fp) {
		std::vector<char> buffer(4096);
		std::size_t n = fread(buffer.data(), 1, buffer.size(), fp);
		if (n && n < buffer.size()) {
			buffer.data()[n] = 0;
			return buffer.data();
		}
		_pclose(fp);
	}
}

И при любом исходе выдаёт в конец 2 пустых строки.
int main(){
    cout <<python_shell("print("")").c_str()<< endl;
    return NULL;
}

И вывод такой:
ПУСТАЯ СТРОКА 1
ПУСТАЯ СТРОКА 2
КУРСОР
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
первый '\n' добавляется python print
второй С++ endl;

python_shell - "немного неправильная".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы