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

Чтение из файла/Запись в файл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
13.05.2013, 23:26     Чтение из файла/Запись в файл #1
Приветствую всех!
Понимаю что тема заезженная вдоль и поперек, но помощь мне нужна срочно!
Мне нужно написать программу, которая считывает из файла в консоль и записывала из консоли в файл...+ чтобы можно было прописывать путь к файлу...
Говорю сразу, что и на форуме и в гугле искал...но мне не понятно многое написанное...поэтому решил сделать свою тему! Надеюсь на помощь!
нашел какой-никакой разбор по stream...вот что-то сделал:
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
#include <clocale>
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
void main(void)
{
    setlocale(LC_ALL, "Russian");
    int d;
    printf("Введите 1 для чтения файла.\nВведите 2 для записи данных в файл.\n");
    scanf_s("%d", &d);
    char s[100];
    char *txt;
    printf("Введите расположение файла (например: C:\\\\myfile):\n");
    scanf_s("%s", &s);
    strcat(s, ".txt");
    char a[50] = "Имя файла: ";
    char b[60] = "Такого файла не существует!";
    printf("%s", a);
    scanf_s("%s", a);
    if(d = 1)
    {
        char a[200];
        ifstream is(s);
        is >> a;
        cout << a;
        is.close();
    }
    else if(d = 2)
    {
        ofstream os(s);
        printf("Введите строку для записи:\n");
        scanf_s("%s", &txt);
        os << txt;
        os.close();
        printf("Запись осуществлена!");
    }
    _getch();
}
выдает предупреждение:
Bash
1
Предупреждение  1   warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.    c:\users\admin\documents\visual studio 2010\projects\c++\oc\oc\main.cpp 17  1   oc
пробовал strcat_s использовать...но там вообще ошибку выдает...
когда ввожу адрес D:\\myfile программа вообще зависает.. в чем дело?
Заранее благодарен за любую помощь!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 23:26     Чтение из файла/Запись в файл
Посмотрите здесь:

C++ запись в файл и чтение из файла
чтение из файла и запись в файл. C++
Чтение из файла, запись в файл C++
запись в файл и чтение из файла C++
Запись в файл, чтение из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vincent_FFVII
1 / 1 / 0
Регистрация: 12.05.2013
Сообщений: 6
14.05.2013, 00:22     Чтение из файла/Запись в файл #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
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <locale.h>
#include <conio.h>
#include <cstring>
 
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    const int S = 256;
    char a[S] = "";
    char b[S] = "";
    ifstream in ("C:\\ex\\in.txt");
    if (!in.good())
    {
        cout<<"Невозможно открыть файл"<<endl;
        getch();
        return 0;
    }
    ofstream out("C:\\ex\\out.txt");
    in.getline(a,S);
    cout << "Чтение из файла : " << a << " \n";
    in.close();
    cout<<endl;
    out<< a << " \n";
    cout<<"Введите строку для записи : ";
    cin>>b[S+1];
    cin.getline(b,S);
    out<<"\n"<<"Новая строка : "<<b<<"\n";
    out.close();
}
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
14.05.2013, 01:27  [ТС]     Чтение из файла/Запись в файл #3
Vincent_FFVII, в приведенном вами коде, нельзя ввести адрес файла через консоль( или при использовании fstream такая функция не предусмотрена?), запись в файл производится(кроме русских букв), но программа зависает
Vincent_FFVII
1 / 1 / 0
Регистрация: 12.05.2013
Сообщений: 6
14.05.2013, 23:59     Чтение из файла/Запись в файл #4
Divil, очень странно,что зависает...В Code::Blocks'е нормально компилируется. С вводом пути к файлу через консоль не встречался, поэтому ничем помочь не могу. С русскими буквами попробуй это, может поможет:

C++
1
2
3
4
5
6
7
#include <windows.h>
int main ()
{ /* после cin.getline(b,S); */
    char c[S] = "";
    CharToOem(b, c);
    out << "Новая строка : " << c << endl;
}
Yandex
Объявления
14.05.2013, 23:59     Чтение из файла/Запись в файл
Ответ Создать тему
Опции темы

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