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

Получить название файлов с 1-ой папки , со 2-ой папки и вывести. Неправильный вывод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пузырьковая сортировка http://www.cyberforum.ru/cpp-beginners/thread1150952.html
Здравствуйте. Есть код, который сортирует методом пузырька по строчкам, что мне поменять, чтобы была сортировка по столбцам начиная с первого.? Заранее спасибо. #include <iostream> #include <iomanip> using namespace std; void main (void) { setlocale(LC_ALL, "Rus");
C++ Создать класс Triad (тройка чисел). Выдает ошибку задание звучит так: создать класс Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. Определить производный класс Triangle с полями-сторонами. Определить методы вычисления углов и площади треугольника. // Triangle class.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "math.h" #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1150950.html
Преобразовать строку по заданному алгоритму C++
Заданная строка S. Преобразовать S следующим образом: 1) удалить из S первое вхождение буквосочетание 'const'; 2) после первой буквы V вставить буквосочетание 'аг'; 3) в строку X скопировать 7 символов из строки S, начиная с 10 позиции; 4) заменить все буквосочетание 'were' на 'are'. #include <iostream>
C++ Вставка элемента в одномерный массив
Задан упорядоченный по возростанию массив целых чисел A и число B. Для числа B найти такое место среди элементов массива А, чтобы после вставки числа В на это место упорядоченность массива не нарушилась. Если вследствие равенства между собой значений элементов массива А число В можно вставлять на разные места, то следует определить ближайшее к началу массива место. Эта задача называется задачей...
C++ Вычислить среднее арифметическое целочисленных координат дискретных точек отрезка [-10.5; 10.5] http://www.cyberforum.ru/cpp-beginners/thread1150882.html
Для данной задачи разработать алгоритм и написать соответствующую программу с выводом результатов на экран. Требования к программе: - Входные данные ввести с помощью стандартных процедур ввода; - На печать вывести значение входной информации и результаты вычислений; - Входные данные взять произвольными, в пределах допустимых, если они явно не заданы в условии задачи. Вычислить среднее...
C++ Решение нелинейного уравнения С помощью метода итераций необходимо найти корень функции f(x) = 1/(1+exp(x)) при нулевом приближении 2,1 Пытался подставить в эту реализацию свою функцию и приближения, но программа висит. Прошу помощи :) подробнее

Показать сообщение отдельно
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
18.04.2014, 20:02     Получить название файлов с 1-ой папки , со 2-ой папки и вывести. Неправильный вывод
C++
1
f1.insert(&FindFileData.cFileName[0]);
Ты сохраняешь указатель на строку &FindFileData.cFileName[0], это временный указатель. Он начинает указывать не известно на что после следующего вызова FindNextFile(hf1,&FindFileData);
Нужно выделять память копировать в нее и сохранять указатель на выделенную память.
C++
1
copy(f1.begin(), f1.end(), ostream_iterator<WCHAR*>(cout, " "));
Каждую итерацию выводишь содержимое сета. Зачем? По моему необходимо вынести за цикл.
Ну и соответственно числа которые выводит программа это адреса, а не строки которые хранятся по этим адресам.
<WCHAR*> - адрес а не строка.

Добавлено через 16 минут
Я бы исправил так:
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
#include <iostream>
#include <string>
#include <windows.h>
 
int main()
{
        WIN32_FIND_DATA FindFileData, FindFileData2;
        HANDLE hf1 = FindFirstFile(L"C:\\dir\\*", &FindFileData);
        
        if (hf1 == INVALID_HANDLE_VALUE) {
            std::cout <<  "Path not found" << std::endl;
            system("pause");
            return 1; 
        }
 
        int i = 1;
        do {
            WCHAR* buffer = new WCHAR[260];
            wcscpy(buffer,&FindFileData.cFileName[0]);
            std::wcout << "dir" << i << " - " << std::wstring(buffer) << std::endl;
            delete[] buffer;
            i++;
        } while (FindNextFile(hf1,&FindFileData));
 
        FindClose(hf1);
        system("pause");
}
Не фанат я всяких WCHAR* и иже с ними. Стринг он завсегда приятнее...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru