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

Не открывается файл для считывания - C++

Восстановить пароль Регистрация
 
volodymyrpr
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 8
11.09.2011, 12:34     Не открывается файл для считывания #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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string>
 
 
using namespace std;
 
int main()
{
char *string=NULL;
FILE *file=NULL;
 
 
if ((file=fopen("D:\\file.txt","rt")) == 0)
{
cout<<"error";
}
else for (int i=0; i<=3; i++)
string[i]=fgetc (file);
int x=stoi(string, 0, 3);
fclose (file);
cout<<x;
return 0;
}

Всегда выводит "error".
Что делать?

 Комментарий модератора 
Используйте теги форматирования кода!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.09.2011, 12:37     Не открывается файл для считывания #2
А вы попробуйте сначала его программно создать

C
1
file=fopen("D:\\file.txt","wt");
заполнить, а потом уже открыть.
}{NiM
 Аватар для }{NiM
64 / 64 / 2
Регистрация: 25.11.2009
Сообщений: 283
11.09.2011, 12:45     Не открывается файл для считывания #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сразу вопрос - вы, то файл по тому пути размещаете?
C++
1
2
else for (int i=0; i<=3; i++)
 string[i]=fgetc (file);
это работать не будет. у вас строка не имеет размерности.
а также это работает по ответвлению else
как вариант -
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string>
#include <conio.h>
 
 
using namespace std;
 
int main()
{
    char *string = new char[4];
    FILE *file=NULL;
 
 
    if ((file=fopen("D:\\file.txt","rt")) == 0)
    {
        cout<<"error";
        getch();
    }   
        fgets(string,4,file);
    int x=stoi(string, 0, 3);
    fclose (file);
    cout<<x;
    getch();
    return 0;
volodymyrpr
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 8
11.09.2011, 13:36  [ТС]     Не открывается файл для считывания #4
C размерностью пробовал, файл на месте, попробовал ваш код - тоже не работает...
может что то с вижуал (VC++)?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.09.2011, 09:13     Не открывается файл для считывания #5
попробуй в командной строке
type d:\file.txt
-=ЮрА=-
Заблокирован
Автор FAQ
12.09.2011, 09:27     Не открывается файл для считывания #6
Цитата Сообщение от volodymyrpr Посмотреть сообщение
C размерностью пробовал, файл на месте, попробовал ваш код - тоже не работает...
может что то с вижуал (VC++)?
- когда юзаешь getch() и пишешь сие
C++
1
2
#include <iostream>
using namespace std;
пиши так вместо cout<< пиши std::cout<< а вместо cin пиши std::cin>> и всё нормально работать будет...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2011, 18:07     Не открывается файл для считывания
Еще ссылки по теме:

C++ Функция для считывания строки
Программа для считывания содержимого директории (Си -> Си++) C++
Не открывается файл для чтения C++

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

Или воспользуйтесь поиском по форуму:
volodymyrpr
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 8
13.09.2011, 18:07  [ТС]     Не открывается файл для считывания #7
Разобрался. Нельзя было вручную называть файл "file.txt", его название в папке видно как "file"
Yandex
Объявления
13.09.2011, 18:07     Не открывается файл для считывания
Ответ Создать тему
Опции темы

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