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

Работа с файлами - взять 5-ый символ файла - C++

Восстановить пароль Регистрация
 
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
24.09.2012, 20:06     Работа с файлами - взять 5-ый символ файла #1
Добрый вечер, уважаемые программисты!
Возникла проблема - необходимо взять пятый символ из файла и вывести его в командную строку. Почему не работает данный код, я не понимаю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            #include <iostream>
            #include <conio.h>
            #include <fstream>
 
            using namespace std;
 
            int main(){
                ifstream file;
                char* y = new char;
                int x;
                file.open(filepath, ios::binary);
                file.seekg(sizeof(char)*5);
                file.read((char*)y, sizeof(char));
                file.close();
                cout << y << endl;
                _getch();
                return 0;
             }
Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2012, 20:06     Работа с файлами - взять 5-ый символ файла
Посмотрите здесь:

Работа с файлами. Редактирование файла C++
C++ Работа с файлами. Чтение из файла.Поиск.
Считать последний символ файла. Записать символ в конец файла C++
C++ Работа с файлами ( Записать в файл B, те строки и их номера, в которых заданный символ p не встречался ни разу)
C++ Структуры/Работа с файлами(ошибка линковщика error LNK2019: ссылка на неразрешенный внешний символ)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
24.09.2012, 20:31     Работа с файлами - взять 5-ый символ файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream file;
    char* y = new char;
    int x;
    file.open("d:\\1.txt");
    file.seekg(5);
    file>>y;
    file.close();
    cout << y << endl;
    _getch();
    return 0;
}
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
24.09.2012, 20:46  [ТС]     Работа с файлами - взять 5-ый символ файла #3
Простите, не помогло. отладчик говорит, что значение y равно -52'М', а то, что выдают консоль, вообще не передается описанию. Загогулина, она и в консоли загогулина.

Добавлено через 1 минуту
Впрочем, изначальное значение y, то есть до
C++
1
file>>y;
также -52'М'
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
24.09.2012, 20:49     Работа с файлами - взять 5-ый символ файла #4
Цитата Сообщение от ikmik Посмотреть сообщение
char* y = new char;
Цитата Сообщение от ikmik Посмотреть сообщение
cout << y << endl;
А нужно ли тебе выводить указатель, который трактуется, как строка в стиле си? И вообще, указатель занимает больше места, чем сам char, чего ради выделять один байт в куче?
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
24.09.2012, 20:51  [ТС]     Работа с файлами - взять 5-ый символ файла #5
пардон, сам не разобрался, я файл неправильно открыл, не тот путь указал. аж стыдно стало.
Yandex
Объявления
24.09.2012, 20:51     Работа с файлами - взять 5-ый символ файла
Ответ Создать тему
Опции темы

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