Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 02.11.2025
Сообщений: 1

Подводные камни

02.11.2025, 15:02. Показов 8124. Ответов 87

Студворк — интернет-сервис помощи студентам
Какие основные ошибки совершают начинающие при изучении C++ и как их избежать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2025, 15:02
Ответы с готовыми решениями:

Подводные камни клиент-серверного приложения
Здравствуйте дорогие Хорошую статью дал мне Vitaly1981 http://citforum.ru/book/cook/winsock.shtml ...

Подводные камни в стеке, в очереди, в списке
какие могут быть ошибки в структурах данных? например, вот в очереди начало может догнать конец....

Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Привет читателям! Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?...

87
фрилансер
 Аватар для Алексей1153
6495 / 5723 / 1133
Регистрация: 11.10.2019
Сообщений: 15,283
09.11.2025, 16:52
Студворк — интернет-сервис помощи студентам
Royal_X, так же будет, поскольку elision
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6290 / 3014 / 1051
Регистрация: 01.06.2021
Сообщений: 11,405
09.11.2025, 16:55
Цитата Сообщение от Алексей1153 Посмотреть сообщение
так же будет, поскольку elision
то, что и так работает, это понятно. Но для эстетики нужно добавить )

и в ide подсказка будет правильной при наведении мыши




вернее, ide в обоих случаях правильно подсказывает, но я про то, что если использовать правильный литерал, то потом можно и правильно ориентироваться в ide
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6290 / 3014 / 1051
Регистрация: 01.06.2021
Сообщений: 11,405
09.11.2025, 17:20
Лучший ответ Сообщение было отмечено Наталья8 как решение

Решение

Цитата Сообщение от Наталья8 Посмотреть сообщение
Здесь на единичку ошибёшься, ни чё работать не будет.
Цитата Сообщение от Наталья8 Посмотреть сообщение
C++
1
2
3
FILE *file_for_save = _wfopen(l_szSrcFile, L"w+b");
                    if (file_ptr == NULL) {
                        printf("failed to open file for reading\n");
ты вообще тот указатель проверяешь?

Цитата Сообщение от Наталья8 Посмотреть сообщение
C++
1
wcscpy(tmp_name, wcsrchr(l_szSrcFile, '\\'));
а если \ не будет, то вроде вернет NULL, что вызовет потом бах

Цитата Сообщение от Наталья8 Посмотреть сообщение
C++
1
*(wcsrchr(l_szSrcFile, '\\')) = '\0';
тоже самое, если wcsrchr вернет NULL, это приведет к записи по нулевому адресу

***

Чем ничтожнее тема, тем длиннее обсуждение.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,211
09.11.2025, 20:10
Цитата Сообщение от Royal_X Посмотреть сообщение
FILE *file_for_save = _wfopen(l_szSrcFile, L"w+b");
                    if (file_ptr == NULL) {
                        printf("failed to open file for reading\n");
Здесь ошибка у меня. А всё остальное правильно.
Ещё вот так пишу--
C++
1
swprintf(wcsrchr(l_szSrcFile, '\\'),L"%s", L"\\literal.txt");// Не проверял.
На string тоже умею... Начинал на них. Но так мне кажеться конкретнее. Безглючнее.
(Это ищет справа первый слеш. И туда пишет литерал.)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wchar_t end_ln[8]{};
wcscpy(end_ln, wcsrchr(name, ')'));
//---------------------------------
//wprintf(L"%s", end_ln); getchar();
 
while (true) {
    // Файлы именуються всегда на единицу больше, чем файл с максимальным номером.
    while (_waccess(PathUtf16, 0) == 0)
    {
        ++real_cnt;
        swprintf(wcsrchr(PathUtf16, '\\') + 8, L"%d%s", ++number, end_ln);
    } // Вылет из цикла - файла с такой цифрой нет.
    if (real_cnt == cnt)break;
    swprintf(wcsrchr(PathUtf16, '\\') + 8, L"%d%s", ++number, end_ln);
}
Самая короткая подстановка нового файла с номером. Самая малострочная.
Я такое по всякому писал. И на string тоже...
Эта карусель везде... Несколько лет... И работает..

Добавлено через 2 минуты
Молодец вникнул.
А других кнопочек у меня нету. Не положено. Не заработал.

Добавлено через 5 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
тоже самое, если wcsrchr вернет NULL
До сих пор не возвращала... Может завтра...
(Мама потом отдаст...)
Если вернёт нуль, компьютер в охапку, и на мусорку.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
09.11.2025, 20:23
Цитата Сообщение от Royal_X Посмотреть сообщение
Чем ничтожнее тема, тем длиннее обсуждение.
не фик тут обсуждать - делай как я сказал! - и усё.

а если не делаешь, то тогда ты сам себе доктор))
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
09.11.2025, 21:46
Цитата Сообщение от Наталья8 Посмотреть сообщение
wcsrchr(PathUtf16, '\\')
Вот так привыкнет пихать шокудапопало.
А потом такой, wcsrchr(PathUtf16, 'Ё') - упс-с-с.
Ну а предупреждения, да черт с ними, пищит себе что-то там, пусть пищит)

"И так сойдет!"
Это не Наталья, а ходячий джокер.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,211
10.11.2025, 00:37
Цитата Сообщение от SmallEvil Посмотреть сообщение
А потом такой, wcsrchr(PathUtf16, 'Ё') - упс-с-с.
Какое Ё?
ты о чём?
Функция wcsrchr( не нравиться?
Я ни разу ни какого Ё не искал... Это слеш как бы.... Один символ...
Ни с каким ЙО не работаю.

Последняя слеш находиться в любом тексте. И utf8 тоже. Имею некоторый опыт.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (*(strrchr(buf_for_txt, '\r') + 2) != '\0') {// Если в конце массива не стоит \r\n
        strcat(buf_for_txt, "\r\n"); cur += 2;// Подставить и увеличить размер
    }
    unsigned short size = cur;
 
fwrite(buf_for_txt, sizeof(char), cur,// <-- Гнать весь файл
    file_ptr);
    // ---------------------------- Поставим метку в конец файла
 
fwrite("#end_of_txt\r\n", sizeof(char), strlen("#end_of_txt\r\n"),// 
        file_ptr);
    size += strlen("#end_of_txt\r\n");
    
    fseek(file_ptr, 43, SEEK_SET);// Смещение и размер. Пишем.
fwrite(&cur_n, sizeof(cur_n), 1, file_ptr);
fwrite(&size, sizeof(size), 1, file_ptr);
На ещё почитай...
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,211
10.11.2025, 15:14
Конечно велосипед... Позор на мои седые голова.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2025, 15:14

Подводные камни realloc
Всем привет. Пишу структуру данных, которая при определенных обстоятельствах может перераспределять...

Использование long вместо long int. Возможны ли подводные камни?
Добрый день. Моя цель - писать кроссплатформенный C++ код, поэтому хочу отказаться от типа int...

Подводные камни обмена объектами между программой и DLL
Доброго времени суток. Есть программа, разделенная на основной модуль и DLL Для обмена...

Подводные камни использования библиотеки Qt в Visual Studio
С одной стороны, глупый вопрос: библиотека есть библиотека, берёшь и пользуешь. С другой стороны, я...

Необходимо разбить камни на две кучи таким образом, чтобы веса куч отличались не более чем в 1.5 раза.
Имеется N камней веса А1,А2,...,АN. Необходимо разбить их на две кучи таким образом, чтобы веса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
88
Ответ Создать тему
Новые блоги и статьи
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос. Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех. А широколиственный лес тоже имеет самую крутую биомассу. То почему не возникло их симбиоза? Это. . .
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне. Это уже новая модель, модель сукцессии грибной. потоки фосфора, азота. Углерода. 5 видов организмов. Я даже. . .
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026 . . .
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки План доработки модели динамики микоризных симбиозов (EcM с гистерезисом) Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru