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

Действие с файлом в зависимости от его типа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Потоки и их влияние на скорость http://www.cyberforum.ru/cpp-beginners/thread895709.html
Есть необходимость использовать несколько потоков, которые будут в цикле обрабатывать значения. Как будет быстрее, разбить задачу на несколько частей и каждую поместить в поток (получится примерно 10 потоков) или запихнуть в каждый побольше и получить меньше (5 потоков)? Вопрос не в прямой скорости, а в том, как будет лучше для процессора обрабатывать? Как лучше для общей производительности...
C++ getline(cin, ); Программа создаёт текстовый документ в который записывает название, автора и кол-во проданных экземпляров книги. Вот только возникла проблема:( Записывается вся информация, кроме названия. Не могу понять в чём проблема. Не подскажете?:) #include "stdafx.h" #include <iostream> #include <string> #include <fstream> using namespace std; struct bookst { string name,autor; http://www.cyberforum.ru/cpp-beginners/thread895707.html
C++ Непонятная ошибка в коде
Здравствуйте. Пытаюсь написать функцию, которая будет вытаскивать из текста в файле числа. Реализовываю через их запись в буфер num с последующим использованием atoi. Столкнулся с тем, что программа без всяких видимых ошибок стопорится после первой найденной цифры. Т.к. остальная часть программы отвечает за запись найденных чисел в дерево, я практически на 100% уверен, что ошибка именно в этой...
C++ Олимпиадная задача Сумма простых
наприме мы вводим размер массива 3 потом сколько чисел надо сложить 2 а потом массив 6 5 7 и вы водитьса другой массив например 6+5=11 5+7=12 6+7=13 массив (11 12 13) вот 6+5 это он складывает 2 числа подскажите пожалуста(((
C++ Не работает программа http://www.cyberforum.ru/cpp-beginners/thread895691.html
Сделать программу для введения с клавиатуры текста из 50 символов и вывода на экран кол-ва букв, которые входят в этот текст по одному разу. Я написал код, но он не работает. #include <iostream> #include <windows.h> #include <string> #include <stdio.h> using namespace std; int main()
C++ Не могу написать код для иерархии классов Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель Запросы: • перечень студентов в указанной группе; • перечень студентов в указанной кафедре; • перечень преподавателей в указанной кафедре; • перечень студентов, обучающихся в указанной кафедре, сдавших сессию на отлично; внизу перечня– «итого» с указанием их общего количества. P.S. не пойму при чем тут персона и... подробнее

Показать сообщение отдельно
MrCath
7 / 7 / 1
Регистрация: 08.11.2012
Сообщений: 68
08.06.2013, 22:15     Действие с файлом в зависимости от его типа
Очень легко. Если нужна оболочка, то используй WinAPI и приделывай кнопочки. Если консоль, то поставиль открытие каждого файла после нажатия на кнопку при помощи, например, system("pause").
После нажатия на кнопку или любой клавиши в консоли откроется окно выбора файла по проводнику. Код диалога такой:
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
#include <iostream>
#include <Windows.h>
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    OPENFILENAME ofn={0};
    char szDirect[260];
    char szFileName[260];
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = NULL;
    ofn.lpstrFile = szDirect;
    *(ofn.lpstrFile) = 0;
    ofn.nMaxFile =sizeof(szDirect);
    ofn.lpstrFilter = NULL;
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = szFileName;
    *(ofn.lpstrFileTitle) = 0;
    ofn.nMaxFileTitle = sizeof(szFileName);
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_EXPLORER;
    GetOpenFileName(&ofn);
    std::cout<<szDirect;
    std::cin.get();
    return 0;
}
Это возвратит тебе путь к файлу с его расширением.
Далее ты смотришь в самый конец строки и просто по условиям определяешь надпись, не обязательно посимвольно, например, послендие 4 буквы сравни с ".mp3", если не подошло, то последние 5 букв с ".jpeg" и так далее.
Когда условие верно, то ставь открытие на конкретную программу, а на форме или в консоли пиши фразу о типе файла. Открыть можно через
C++
1
ShellExecute(NULL, "open", /*путь к файлу строкой*/, NULL, NULL, SW_SHOWNORMAL);
это откроет программой по умолчанию...
Можно в цикл поместить, можно на одно открытие сделать, если это консоль. В оболочке можно вызывать на кнопку.
Если ничего не подошло, то вернуть надпись, типа "Не знаю такого расширения"...
Удачи, делов на 5 сек)
 
Текущее время: 19:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru