Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6310
Последний выпуск: 19.06.2015

ptr=fopen(name,"r") выбивает ошибку

93K
04 марта 2014 года
varvarich65
1 / / 04.03.2014
Ребята помогите,срочно!!!

Надо открыть файл ,его имя ввести с клавиатуры.Вот что я намудрил,но не работает -ошибка

 
Код:
cgar  *name;
printf("bbbbb");
scanf("%s",name);
FILE *ptr;
ptr=fopen(name,"r");
247
04 марта 2014 года
wanja
1.2K / / 03.02.2003
Для начала, неплохо бы выделить память под имя файла (new или malloc). Или просто сделать массив char, чтобы не заморачиваться.
326
04 марта 2014 года
sadovoya
757 / / 19.11.2005
Во-первых, не cgar, a char. Во вторых вот это. Об остальных ф-циях там же.
44K
06 марта 2014 года
vvmCpp
32 / / 21.01.2014
Вот по быстренькому написал. Так работает, можете модифицировать как вам удобно.
Код:
#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
   
    //char *fileName="fname.txt";
    char fileName[13]="1.txt";//имя файла
   
    // длину буфера можно выбрать равное длинне файла
    //charBuf - сюда будем считывать
    char charBuf[1000];
   
// ввести имя файла с расширением
    cout<<"Enter filename :";
    cin>>fileName;
   /*
    cout<<"Enter filename :";
    //scanf("%s",fileName);
    cin>>fileName;
    */

    ifstream inTextFile;
   
    inTextFile.open(fileName);
   
    if(!inTextFile.is_open())
    {
      cout<<"error"<<endl;
     
       system("PAUSE");
      return 0;
        //return EXIT_SUCCESS;
        }
     // читаем файл пока не встретился конец файла
     while(!inTextFile.eof())
     {
            inTextFile.getline(charBuf,1000);
            // тут выводим сразу на консоль
            cout<<charBuf<<endl;
     }  

// закрываем файл
inTextFile.close();
   
   
    cout << "Press the enter key to continue ...";
    system("PAUSE");
  //  cin.get();
    return EXIT_SUCCESS;
}
44K
10 марта 2014 года
vvmCpp
32 / / 21.01.2014
О функции fopen справочная информация с примером: http://cppstudio.com/post/1253/

Аналогично можно передать функции fopen имя файла.

 
Код:
FILE * ptrFile = fopen(fileName, "r");
 
  if (ptrFile != NULL)
  {
...

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог