170 похожих чатов

Объясните, почему, если читаю текстовый файл, почти при каждом запуске

программы там есть Разный символ в начале перед самим текстом? Файл читаю так:
std::ifstream in{ program_path };
std::string source{ (std::istreambuf_iterator<char>(in)),
std::istreambuf_iterator<char>() };

30 ответов

21 просмотр

Почему не std::getline?

Liber-Azerate Автор вопроса
Flower Surgeon
Почему не std::getline?

Потому что мне надо считать всю программу целиком

Flower Surgeon
Почему не std::getline?

почему не vector<char>::reserve && filesystem::filesize && read

https://coliru.stacked-crooked.com/a/b707e6739ff237c7 а у меня не воспроизводится ¯\_(ツ)_/¯

Liber-Azerate Автор вопроса
Flower Surgeon
https://coliru.stacked-crooked.com/a/b707e6739ff23...

Ладно, я локализовал проблему. Судя по всему, лишние символы возникают из-за стрингстрима. Осталось понять почему и что делать: class Lexer { char peek_; std::unordered_map<std::string, Word> words_; static inline unsigned line_ = 1; unsigned ident_ = 0; std::stringstream source_;Lexer::Lexer(std::string s) : source_{ std::stringstream{ std::move(s) } } {

Скорее всего там в файле этот символ и есть...

Да, кстати, возьми какой-нить HEX-редактор и посмотри им в начало файла. hexdump -C тоже сойдёт.

Liber-Azerate Автор вопроса
Ilya Zviagin
Скорее всего там в файле этот символ и есть...

Я же сказал, что уже проверил, специально вывел чистую строку посимвольно До стрингстрима и тогда там ничего не было. К тому же, символ каждый раз Разный. Как в файле при каждом чтении может оказываться разный символ из небольшого списка вариантов?

Liber-Azerate Автор вопроса
Ilya Zviagin
Ну давай код тогда, весь

https://github.com/harashimahashi/llvmcomp

Liber-Azerate Автор вопроса
Ilya Zviagin
И это все твоё?

Так в чём вопрос?

Liber Azerate
Так в чём вопрос?

Я думал, там целое репо кода... Хотел восхититься твоей плодовитостью, но когда поглядел внутрь, не стал...

Liber Azerate
Так в чём вопрос?

А это вот что? reserve(Word{ "if", tag_cast(Tag::IF) });

Liber-Azerate Автор вопроса
Ilya Zviagin
А это вот что? reserve(Word{ "if", tag_cast(Tag::...

Ну, резервируется новое ключевое слово

Liber-Azerate Автор вопроса
Ilya Zviagin
Я думал, там целое репо кода... Хотел восхититься...

Это вообще недоделанный кусок "в работе". Вопрос во вводе, а не в чём-то ещё

Liber-Azerate Автор вопроса
Ilya Zviagin
А зачем Tag с 256 ?

Чтобы после ascii

Liber-Azerate Автор вопроса
Liber Azerate
Чтобы после ascii

Ну мог бы вместо непечатных символов до 30 (или 20) свои токены вставить...

Liber Azerate
Зачем?

Ладно, ты потерянный символ нашёл?

Liber-Azerate Автор вопроса
Ilya Zviagin
Ладно, ты потерянный символ нашёл?

Нет, конечно, потому что его нет

ЭТО ВОТ у меня работает.

Liber Azerate
Ладно, я локализовал проблему. Судя по всему, лишн...

Это минимальный пример? Минимальный - это кусок кода, который можно скопировать и запустить

Alexander Karaev
Это минимальный пример? Минимальный - это кусок ко...

https://pastebin.com/Qekpqx5q Я такое написал, но оно работает

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта