18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
||||||
1 | ||||||
Список файлов и конкатенация строк05.07.2015, 10:20. Показов 3026. Ответов 33
Метки нет (Все метки)
Здравствуйте.
В этом коде
При вводе пути С:\ после катенации должна получиться строка с фильтром, но вывод wcout возвращает C:\, при этом среда показывает что фильтр добавлен в массив и между введенным путем и символом какие то промежуточные символы. Что возвращает функция wcsncat ? Что означают эти символы? Почему wcout не показывает всё содержимое массива? И почему FindFirstFile не работает?
0
|
05.07.2015, 10:20 | |
Ответы с готовыми решениями:
33
Отсортировать список 5-х строк нескольких файлов Конкатенация файлов Конкатенация строк Конкатенация строк |
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
08.07.2015, 09:22 | 21 |
Сообщение было отмечено VoltDeMar как решение
Решение
Да, строка имеет символы как у вас, но показывается без них, так как \0 введен ставится сам после ввода значения переменной. length() выдает верную длину.
mbstowcs обрезает эти символы, и делает нормальный вид. После работает нормально конкатенация. На строке, которую вы показывали - всё нормально.
1
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
08.07.2015, 09:29 | 22 |
Сообщение было отмечено VoltDeMar как решение
Решение
В данный момент, те же проблемы, что и изначально были?
1
|
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
09.07.2015, 12:24 [ТС] | 23 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|||||||||||
10.07.2015, 02:04 | 24 | ||||||||||
Сообщение было отмечено VoltDeMar как решение
Решение
До
1
|
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
11.07.2015, 12:20 [ТС] | 25 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
11.07.2015, 12:28 | 26 |
0
|
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
11.07.2015, 12:34 [ТС] | 27 |
...
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
11.07.2015, 12:36 | 28 |
'\0' - конец строки
1
|
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
|
|
11.07.2015, 12:45 [ТС] | 29 |
std::string не содержит закрывающего символа? Возможны случая в которых бы этот алгоритм срабатывал бы без такого добавления в конце?
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
11.07.2015, 12:51 | 30 |
В данном посте я Вам показывал код, в котором у меня срабатывало корректно при использовании std::string.
Возможно так происходило, потому что передавалось через параметр в функцию, хотя адрес тот же..
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
11.07.2015, 14:35 | 31 |
0
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
11.07.2015, 14:39 | 32 |
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
||||||
11.07.2015, 15:02 | 33 | |||||
Использовать std::cin для для ввода std::string. scanf при чтении строки должен писать в буфер char достаточного размера. У тебя же вообще передан адрес переменной string, а буфер std::string лежит в динамической памяти. То, что у тебя якобы заработало - это только видимость, повезло. Введи ты строку чуть подлиннее и получил бы падение.
Добавлено через 1 минуту Чуть подправил код из первого поста. Кликните здесь для просмотра всего текста
1
|
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
|
|
11.07.2015, 15:03 | 34 |
0
|
11.07.2015, 15:03 | |
11.07.2015, 15:03 | |
Помогаю со студенческими работами здесь
34
Конкатенация строк Конкатенация строк Конкатенация строк Конкатенация 3 строк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |