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

Как открыть любой файл по желанию пользователя - C++

Восстановить пароль Регистрация
 
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
03.07.2013, 22:48     Как открыть любой файл по желанию пользователя #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
39
40
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
 
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <locale.h>
#include<fstream>//1
#include <conio.h>//2
#include<iomanip>//3 для файлов
 
 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_CTYPE,"rus");
    FILE *fp;
    char* Fail_s_tekstom = "file.txt";
    char c,f;
float a,b;
    cout << ("a-Ввод вручную\n""b-Взять текст из файла\n");
    cin >>c ;//входное c условие
    switch (c)
    {
    case 'a':
        cout << ("Введите текст\n");//
        cin >> f;//перименная f для ввода текста
        break;
    case 'b' :
        cout << ("Открыть файл");// конец моей
    fp = fopen ( "","" ); // Немогу написать как открыть любой файл по желанию пользователя 
        
         break;
    }
    
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 22:48     Как открыть любой файл по желанию пользователя
Посмотрите здесь:

C++ c/c++ fopen() как открыть файл по ссылке?
Как открыть и записать файл частино C++
как открыть текстовой файл из программы C++
C++ Открыть файл .pas как текстовый
C++ с++ как открыть exe файл в программе ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
03.07.2013, 23:41     Как открыть любой файл по желанию пользователя #2
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 <fstream>
#include <string>
#include <iterator>
#include <memory>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
    char file_path[255];
    cout << "file name: ";
    cin.getline(file_path, sizeof(file_path));
    ifstream file(file_path);
 
    using ibic = istreambuf_iterator<char>;
 
    string file_content( ibic( *unique_ptr<ifstream>(
                                    new ifstream(file_path) ) ),
                        ( ibic() ) );
 
    cout << file_content << endl;
    system("pause");
    return 0;
}
Миниатюры
Как открыть любой файл по желанию пользователя  
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
04.07.2013, 00:18  [ТС]     Как открыть любой файл по желанию пользователя #3
пишет ошибки ibic индефикатор не найден
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
04.07.2013, 00:38     Как открыть любой файл по желанию пользователя #4
К параметрам компиляции добавьте -std=c++11
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
04.07.2013, 00:51  [ТС]     Как открыть любой файл по желанию пользователя #5
Спасибо
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 01:41     Как открыть любой файл по желанию пользователя #6
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <locale.h>
#include<fstream>//1
#include <conio.h>//2
#include<iomanip>//3 для файлов
 
using namespace std;
 
int main()
{
    setlocale (LC_CTYPE,"rus");
    FILE *fp;
    char Fail_s_tekstom[20];
    char c;
    char f[500];
    float a, b;
    cout << ("a-Ввод вручную\n""b-Взять текст из файла\n");
    (cin >> c).get();//входное c условие
    switch (c)
    {
    case 'a':
        cout << ("Введите текст\n");//
        cin.getline(f, 500); //перименная f для ввода текста
 
        cout << "\nВведённый текст\n";
        for (int i =  0; f[i]; ++i)
            cout << f[i];
        
        break;
    
    case 'b' :
        cout << ("Открыть файл\n");// конец моей
        cout << ("Введите имя файла: ");
        cin.getline(Fail_s_tekstom, 20);
        fp = fopen (Fail_s_tekstom, "r"); // Немогу написать как открыть любой файл по желанию пользователя 
        if (!fp) cout << "Ошибка при открытии файла!\n";
        else
        {
            cout << "\nТекст из файла\n";
            char ch;
            while (1)
            {
                ch = fgetc(fp);
                if (feof(fp)) break;
                cout << ch;
            }
        }
        break;
    }
    
    return 0;
}
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
04.07.2013, 16:40  [ТС]     Как открыть любой файл по желанию пользователя #7
Ошибки выдаёт если не сложно подскажите.


Ошибка 2 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\user\documents\visual studio 2012\projects\замена а на в своё\замена а на в своё\замена а на в своё.cpp 41

Предупреждение 1 warning C4603: _CRT_SECURE_NO_WARNINGS: макрос не определен или определение изменилось после использования предкомпилированного заголовка c:\users\user\documents\visual studio 2012\projects\замена а на в своё\замена а на в своё\замена а на в своё.cpp 4

Добавлено через 1 минуту
Ошибки в вашей програме alsav22 если что)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 17:58     Как открыть любой файл по желанию пользователя #8
Это предупреждения, не ошибки (fopen - как ошибка (небезопасная, по мнению Microsoft) от настроек среды зависит) и программа не моя. В первом посте разве не ваша программа? А там есть и fopen и _CRT_SECURE_NO_WARNINGS... Специально под вашу подгонял...
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
04.07.2013, 18:02  [ТС]     Как открыть любой файл по желанию пользователя #9
да да извините просто я думал может вы чего знаете извините и Спасибо за помощь )
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
09.07.2013, 16:19  [ТС]     Как открыть любой файл по желанию пользователя #10
alsav22 ваша программа работае но я немогу открыть файл указываю имя файла который есть в папке с проэктами
Но он его не находит
Скажите как вводить имя файла может нужен полный путь
Или ваша программа ишет файл гдето в другом месте (рабочий стол)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.07.2013, 16:43     Как открыть любой файл по желанию пользователя #11
Цитата Сообщение от Wenter Посмотреть сообщение
Или ваша программа ишет файл гдето в другом месте (рабочий стол)
Да нет. Если без полного пути вводить, то файл ищется в папке проекта (это в любой программе так).

Добавлено через 1 минуту
Проверьте правильность вводимого имени. Какое имя вводите?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 21:45     Как открыть любой файл по желанию пользователя
Еще ссылки по теме:

Напишите программу, которая по желанию пользователя выводит таблицу пересчета из дюймов в сантиметры на экран C++
Как повторно открыть файл ifstream C++
C++ Как открыть конкретный excel-файл?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Wenter
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 14
09.07.2013, 21:45  [ТС]     Как открыть любой файл по желанию пользователя #12
хорошо праверю

Добавлено через 1 час 48 минут
Да вы правы всё работает СПАСИБО
Yandex
Объявления
09.07.2013, 21:45     Как открыть любой файл по желанию пользователя
Ответ Создать тему
Опции темы

Текущее время: 05:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru