Змінюй хід війни! Допомагай ЗСУ!

"научите меня быть девелопером".

🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #861
потому я и сказал что для таких стрингов уже надо юзать потоки.
fgetws - юзай обычные массивы чаров, сам память выделяй и будет тебе счастье.
У MFC-шного стринга был метод GetBuffer()/ReleaseBuffer() для таких случаев. Когда надо "открыть" стринг, получить буфер, зачитать туда чего-то и потом "закрыть". В стд такого нет.

Так я и говорил, что придётся с массивами работать, но ты нашел то, что мне нужно :D Теперь не придётся. Охуенно работает.
P>S.Ну не хочу с массивами. Мне потом с єтими строками работать - искать и дописывать в файл по позиции, которую найду. Я ж не зря xml матюкал - именно его мне и конструировать.
У string для єтого есть всё, минимум рукописей.
Не знаю как по скорости, но говорят, что вектора не уступают массивам, на счёт стрингов - не уверен.
Но удобство налицо.
P.P.S. Нет, парсер нельзя. Если сильно заебёт пытання "почему" - я те в личку скажу.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #862
Так я и говорил, что придётся с массивами работать, но ты нашел то, что мне нужно :D Теперь не придётся. Охуенно работает.
P>S.Ну не хочу с массивами. Мне потом с єтими строками работать - искать и дописывать в файл по позиции, которую найду. Я ж не зря xml матюкал - именно его мне и конструировать.
У string для єтого есть всё, минимум рукописей.
Не знаю как по скорости, но говорят, что вектора не уступают массивам, на счёт стрингов - не уверен.
Но удобство налицо.
P.P.S. Нет, парсер нельзя. Если сильно заебёт пытання "почему" - я те в личку скажу.

Даже слышать не хочу :іржач:
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #863
Даже слышать не хочу :іржач:

Нашел касяк такого метода.
Если строка пустая - ексцепшен на второй библиотечной операции.
Unhandled exception at 0x0FDFFAB6 (ucrtbased.dll) in test4_xml.exe: 0xC0000005: Access violation reading location 0x00000008.

Вот тут
word = fgetws(const_cast<wchar_t*>(word.c_str()), 257, output);
iosfwd
PHP:
	static size_t length(_In_z_ const _Elem * _First) _NOEXCEPT // strengthened
		{	// find length of null-terminated sequence
		return (_CSTD wcslen(reinterpret_cast<const wchar_t *>(_First)));
		}
на ретурне
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #864
Нашел касяк такого метода.
Если строка пустая - ексцепшен на второй библиотечной операции.


Вот тут
word = fgetws(const_cast<wchar_t*>(word.c_str()), 257, output);
iosfwd
PHP:
	static size_t length(_In_z_ const _Elem * _First) _NOEXCEPT // strengthened
		{	// find length of null-terminated sequence
		return (_CSTD wcslen(reinterpret_cast<const wchar_t *>(_First)));
		}
на ретурне

Не еби мне мозг :)
Юзай потоки либо читай в буфер, потом пихай его в строку.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #865
Не еби мне мозг :)
Юзай потоки либо читай в буфер, потом пихай его в строку.

Не, ну как это не еби мозг... ты сам сюда зашел :D
Только последней пустой строки.
С потоками менее удобно. Я хотел в одном теле найти тэг и добавить после него новый тэг в файл.
Как с отенфайлом в этом случае быть - я знаю, а как с потоком - пока нет.
Хотел по короткому пути пойти, но он нихера не короткий.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #866
Не, ну как это не еби мозг... ты сам сюда зашел :D
Только последней пустой строки.
С потоками менее удобно. Я хотел в одном теле найти тэг и добавить после него новый тэг в файл.
Как с отенфайлом в этом случае быть - я знаю, а как с потоком - пока нет.
Хотел по короткому пути пойти, но он нихера не короткий.

да точно так же , господи
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #867
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #868
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #869
И вообще, задаем правильные вопросы - получаем праивльные ответы. И вместо того чтобы решать проблемы с теми костылями что ты уже сделал, проще начать сначала и определиться че именно тебе надо.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #870
Если ты собрался читать и в процессе дописывать - то это руками позиционируй, seekg

ios:🇮🇳 файл открывается для ввода (чтения). Может быть установлен только для объекта ifstream или fstream

ios::out: файл открывается для вывода (записи). При этом старые данные удаляются. Может быть установлен только для объекта ofstream или fstream

ios::app: файл открывается для дозаписи. Старые данные не удаляются. Запись производится только в конец файла независимо от выбора позиции.

ios::ate: после открытия файла перемещает указатель в конец файла

ios::trunc: файл усекается при открытии. Может быть установлен, если также установлен режим out

ios::binary: файл открывается в бинарном режиме

Там, бля, есть чтобы не удалять содержимое и писать где хочу вообще?
Какие-то конченые флаги... годится только ios::in|ios::ate, но ate забросит позицию в конец.
Зачем нужен ios::app - недоумевает вообще весь интернет. Лучше бі добавили r/w модификатор с установкой seekg() и seekp() сначала в начало.
Вопрос, конечно, риторический, но интересно - что употреблял тот, кто придумал именно такой функционал флагов?

P.S. Да, я люблю фалломорфировать от странных решений...
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #871
Там, бля, есть чтобы не удалять содержимое и писать где хочу вообще?
Какие-то конченые флаги... годится только ios::in|ios::ate, но ate забросит позицию в конец.
Зачем нужен ios::app - недоумевает вообще весь интернет. Лучше бі добавили r/w модификатор с установкой seekg() и seekp() сначала в начало.
Вопрос, конечно, риторический, но интересно - что употреблял тот, кто придумал именно такой функционал флагов?

P.S. Да, я люблю фалломорфировать от странных решений...

ios::out чем не подходит?

Файл раздвигать никто и никогда не будет, даже не мечтай. Не, ну есть вариант полуручной без чтения вообще, но он тебе крышу сломает окончательно.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #872
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #873
ios::out без аргументов это то же, что и ios::out|ios::trunc.(С)
А нахер он такой классный нужен? Если есть ate...

Короч, понятно всё. Спать пора. ate нормально канает. Завтра проверю, будет вылетать на конце файла чтение последней пустой строки, или нет.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #874
А ведь самое смешное, что на "нормальном" языке даже он осилил бы в пять строчек всю эту хрень, которую на сях которую неделю тужится :D
Слава кактусам!
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #875
А ведь самое смешное, что на "нормальном" языке даже он осилил бы в пять строчек всю эту хрень, которую на сях которую неделю тужится :D
Слава кактусам!

Он бы и на цыцыплюс это осилил, если б думал чо делает :)
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #876
А ведь самое смешное, что на "нормальном" языке даже он осилил бы в пять строчек всю эту хрень, которую на сях которую неделю тужится :D
Слава кактусам!

А ведь я сказал же, что НАДО на С/С++
Ты слово такое знаешь - "надо"?
Думаешь я не знаю как его делать в С# в том же? Чё тя так увлекла сия тема? Ты ж нихуя не скажешь точно, ни про С++, ни про С#, но рассказываешь так, как быдто знаешь как сделать :D
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #877
Он бы и на цыцыплюс это осилил, если б думал чо делает :)

Я очень (нет, не так, ОЧЕНЬ) давно пользовался FS из под терминального приложения в Си (да, ++ у меня небыло даже в программе, токма анси C).
Ессно, я не владею этим инструментарием, и его и изучаю.
А что делаю я прекрасно знаю.

В данный момент - найти в файле строку, получить позицию её конца и за этой позицией вставить другую строку +\n
Всё.
А потом уже эту функцию будет юзать другая функция, которая будет находить чё вставлять, брать куда вставлять и вызывать эту вставку. И так пока вставляемое не кончится.

P.S Проблема токма в том, что хочу строками, а не массивами. Но твоё решение падает на последней пустой строке.
Видимо - не находит в пустой строке текстового файла нуль-терминатор.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #878
Я очень (нет, не так, ОЧЕНЬ) давно пользовался FS из под терминального приложения в Си (да, ++ у меня небыло даже в программе, токма анси C).
Ессно, я не владею этим инструментарием, и его и изучаю.
А что делаю я прекрасно знаю.

В данный момент - найти в файле строку, получить позицию её конца и за этой позицией вставить другую строку +\n
Всё.
А потом уже эту функцию будет юзать другая функция, которая будет находить чё вставлять, брать куда вставлять и вызывать эту вставку. И так пока вставляемое не кончится.

P.S Проблема токма в том, что хочу строками, а не массивами. Но твоё решение падает на последней пустой строке.
Видимо - не находит в пустой строке текстового файла нуль-терминатор.

А ты не хочешь полностью озвучить задание?
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #879
А ты не хочешь полностью озвучить задание?

В личку могу. Не хочу в инет готовое решение валить. Пусть кто будет такое выполнять - тоже ебёт мозги как мы :D

Я обычно на подзадания разбиваю задачи. В принципе - вся задача тут не нужна, подзадача функция вставки - вполне самодостаточна.
 
  • 🟠 22:16 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #880
На данный момент организован ввод пути и получение содержимого директорий.
Вот, теперь хочу всю эту шушваль распарсить и вкатать в выходной документ во вкобочками и финтифлюшками.
 
Назад
Зверху Знизу