Форум программистов, компьютерный форум CyberForum.ru

Список файлов и конкатенация строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему течет память ? http://www.cyberforum.ru/cpp-beginners/thread1493187.html
пишу небольшой класс по работе с двусвязными списками часть класса List::List() { head = nullptr;
C++ Перегрузка ifstream и ofstream для работы с файлами в little-endian формате? Всем привет, мне нужно реализовать классы для работы с файлами в little-endian формате. Для этого задумал сделать public-потомки соответствующих классов ввода-вывода, и перегрузить методы, непосредственно читающие/пишущие в поток. Основная проблема заключается в том, что я не знаю точный полный список всех вышеописанных методов обоих классов. Или лучше бросить эту затею, и написать свой велосипед... http://www.cyberforum.ru/cpp-beginners/thread1493168.html
Поместить указатели на экземпляры классов в динамический массив C++
Добрый день. Не идет данная тема. Прошу помощи. Задание: Поместить указатели на экземпляры классов в динамический массив. Для класса Person необходимо реализовать операторы < и >. В динамическом массиве реализовать функцию сортировки списка с использование указанных операторов. Нужна помощь с: 1. Указателями на экземпляр класса. 2. Посмотрите пожалуйста, правильно ли реализована...
C++ Error LNK2001: неразрешенный внешний символ ""public: void __thiscall CRenderTarget::phase_smap_direct
Доброго времени суток. Данный проект собирается на 2005 и 2008 студии. При попытке сбора на 2010 был ряд ошибок, с которыми я всё же справился, но на этапе компоновки случилось следующее. Ошибка 3 error LNK2001: неразрешенный внешний символ ""public: void __thiscall CRenderTarget::phase_smap_direct(class light *,unsigned int)"...
C++ Использование extern с функциями http://www.cyberforum.ru/cpp-beginners/thread1493134.html
Добрый вечер! Скажем я задекларировал в каком-то модуле функцию extern void foo() ;. Но не описал её. Могу ли я при подключении этого модуля к моей программе описать тело этой функции в самой программе?
C++ Сортировка методом "пузырька" Реализовать решение в виде функций ввода, вывода и обработки массивов. Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию. Как сделать эту сортировку #include <iostream> #include <cmath> #include <iomanip> using namespace std; подробнее

Показать сообщение отдельно
DrOffset
6419 / 3793 / 877
Регистрация: 30.01.2014
Сообщений: 6,581
11.07.2015, 15:02     Список файлов и конкатенация строк
Цитата Сообщение от Nkey Посмотреть сообщение
Просто сделал ввод по привычке, а как правильно тогда?
Использовать std::cin для для ввода std::string. scanf при чтении строки должен писать в буфер char достаточного размера. У тебя же вообще передан адрес переменной string, а буфер std::string лежит в динамической памяти. То, что у тебя якобы заработало - это только видимость, повезло. Введи ты строку чуть подлиннее и получил бы падение.

Добавлено через 1 минуту
Чуть подправил код из первого поста.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <vector>
#include <string>
#include <windows.h>
#include <fcntl.h>
#include <io.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    _setmode(_fileno(stdin), _O_U16TEXT);
    _setmode(_fileno(stdout), _O_U16TEXT);
 
    std::vector<std::wstring> Files; // вектор с файлами
    std::vector<std::wstring> Directories; // вектор с директориями
 
    std::wstring path;
    if (std::getline(std::wcin, path))
    {
        Directories.emplace_back(path);
 
        path += L"\\*.*";
 
        std::wcout << path << std::endl;
 
        WIN32_FIND_DATA FindFileData; // переменная структуры информации о директории или файле
        HANDLE hf = FindFirstFile(path.c_str(), &FindFileData); // поиск первого файла в введенной пользователем директории и занесение в переменную 
        if (hf == INVALID_HANDLE_VALUE)
        { // Если хендлер не содержит дескриптор файла или директории
            
            //.....
        }
        else
        {
            std::wcout << "Filename: " << FindFileData.cFileName << std::endl;
        }
    }
    return 0;
}
 
Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru