![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
||||||
1 | ||||||
Список файлов и конкатенация строк05.07.2015, 10:20. Показов 3148. Ответов 33
Метки нет Все метки)
(
Здравствуйте.
В этом коде
При вводе пути С:\ после катенации должна получиться строка с фильтром, но вывод wcout возвращает C:\, при этом среда показывает что фильтр добавлен в массив и между введенным путем и символом какие то промежуточные символы. Что возвращает функция wcsncat ? Что означают эти символы? Почему wcout не показывает всё содержимое массива? И почему FindFirstFile не работает?
0
|
05.07.2015, 10:20 | |
05.07.2015, 10:20 | |
Ответы с готовыми решениями:
33
Отсортировать список 5-х строк нескольких файлов Конкатенация файлов Конкатенация строк |
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
||||||
05.07.2015, 12:11 | 2 | |||||
После ввода символов, может стоит закрывать строку '\0' ?
Обязательно WinAPI нужно? Я на билдере делал так:
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
05.07.2015, 12:53 [ТС] | 3 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|||||||||||
05.07.2015, 13:07 | 4 | ||||||||||
Можно попробовать сделать так, т.к. в описании написано +1.
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
06.07.2015, 09:28 [ТС] | 5 |
О чем тут написано?
Хотелось бы в своем коде разобраться. Что нужно подключить чтобы заработал этот код?
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
||||||
06.07.2015, 12:21 | 6 | |||||
Почему используете wchar, а не char?
Добавлено через 10 минут wcsncat - конкатенирует две строки, первый аргумент куда, второй что, третий длину, почему вы используете sizeof, а не длину строки? Я ваш код взял, изменил только на char, ибо у меня на билдере FindFirstFile требует char. Выводит список файлов.
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
06.07.2015, 15:58 [ТС] | 7 |
У меня Юникод в свойствах проекта стоит, наверное это причина того что вызывается FindFirstFileW .
А это неправильно?
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
06.07.2015, 16:10 | 8 |
VoltDeMar, sizeof размер возвращает, а не длину.
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
06.07.2015, 16:12 [ТС] | 9 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
||||||
06.07.2015, 16:52 | 10 | |||||
С L да
Добавлено через 35 минут Вот с wchar_t
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
||||||
06.07.2015, 16:55 [ТС] | 11 | |||||
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
06.07.2015, 16:58 | 12 |
Посмотрите как у меня в примере, sizeof забыл поменять - но работает, но так не надо делать) с wcslen работает
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
07.07.2015, 09:06 [ТС] | 13 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
07.07.2015, 11:44 | 14 |
C: например.
Добавлено через 34 минуты без слеша
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
07.07.2015, 12:41 [ТС] | 15 |
Вот такое содержание массива, если передаю без слешей, что ещё за элементы в нем могут присутствовать с точки зрения строения переменной такого типа?
Полностью пустой массив тоже содержит что то что отображается как символы, это может быть причиной ошибки?
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
07.07.2015, 13:30 | 16 |
Это может быть причиной ошибки.
Обычно так происходит, если строка не закрыта, поставьте точку останова на 5 строке, и посмотрите какие значения принимают p и Buffer. Как вы считываете значение p? Также во второй строке значение длины p приходит корректное?
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
07.07.2015, 13:54 [ТС] | 17 |
Строка p задана в ручную, length возвращает верную длину.
Может ли быть что то со средой или ОС ?
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
08.07.2015, 00:45 | 18 |
Это не должно влиять.
У вас p изначально wchar_t или char? Добавлено через 3 минуты Скорее всего wchar_t, но если с char вводить, то и в mbstowcs просто p можно будет указать, без c_str().
1
|
![]() 18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
||||||
08.07.2015, 08:35 [ТС] | 19 | |||||
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|||||||||||
08.07.2015, 09:09 | 20 | ||||||||||
Изменил на string - корректно работает
У вас p как параметр передается, попробуйте закрывать его заранее до передачи p += '\0';
1
|
08.07.2015, 09:09 | |
08.07.2015, 09:09 | |
Помогаю со студенческими работами здесь
20
Конкатенация строк Конкатенация строк Конкатенация строк Конкатенация строк Конкатенация 3 строк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Linux API: Полное руководство
hw_wired 08.02.2025
Linux API – это низкоуровневый программный интерфейс, обеспечивающий взаимодействие пользовательских приложений с ядром операционной системы. Он включает набор системных вызовов, библиотечных функций. . .
|
Асинхронное программирование и эмуляция async/await в C (СИ)
hw_wired 08.02.2025
Язык программирования C, несмотря на свой возраст, предоставляет неплохие средства для реализации асинхронных операций, позволяя создавать эффективные решения для обработки параллельных задач. В. . .
|
Как сгенерировать случайное число в указанном диапазоне в JavaScript
bytestream 08.02.2025
В JavaScript генерация случайных чисел основана на детерминированном алгоритме, который создает последовательность псевдослучайных значений. Встроенный метод Math. random() возвращает псевдослучайное. . .
|
Как получить список всех таблиц в PostgreSQL
bytestream 08.02.2025
PostgreSQL предлагает несколько методов для получения списка таблиц в базе данных. Наиболее распространенный способ - использование системного каталога pg_tables, который содержит информацию обо всех. . .
|
Java Spring для начинающих
bytestream 08.02.2025
Spring Framework - это универсальное решение для создания корпоративных Java-приложений. Он предоставляет комплексную программную и конфигурационную модель для современных приложений на Java. Spring. . .
|
Асинхронное программирование и async/await в Visual Basic
bytestream 08.02.2025
В основе асинхронного программирования в Visual Basic лежит концепция неблокирующего выполнения операций. Когда программа встречает длительную операцию, например, чтение большого файла или запрос к. . .
|
Async/await и асинхронное программирование в Delphi
bytestream 08.02.2025
Асинхронное программирование является неотъемлемой частью разработки современных приложений, позволяя создавать отзывчивые и эффективные программы. В Delphi реализация асинхронности опирается на. . .
|
Асинхронное программирование и async/await в C#
bytestream 08.02.2025
Асинхронное программирование - концепция, позволяющая приложениям эффективно выполнять длительные операции без блокировки основного потока выполнения. В контексте современной разработки на C# это. . .
|
Асинхронное программирование и горутины/каналы в Go
bytestream 08.02.2025
Язык Go изначально разрабатывался с учетом современных многоядерных процессоров и необходимости эффективного параллельного выполнения задач. В отличие от традиционных подходов к асинхронному. . .
|
Как восстановить stash в Git
hw_wired 08.02.2025
Git stash - это средство для временного сохранения изменений в рабочей директории. В процессе разработки часто возникают ситуации, когда нужно быстро переключиться на другую задачу, но текущие. . .
|