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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
#1

Чтение с файла (FILE) - C++

03.11.2013, 16:44. Просмотров 221. Ответов 2
Метки нет (Все метки)

Добрый день. Программа не до конца правильно работает. Не видит первую букву первого слова, если сделать в файле пробел, а только потом слово, то все нормально.
Пример:
В файле:
Привет 34 Пока 134
Вывод на экран:
ривет 34 Пока 134
Как это исправить?
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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
 
 
#define txt ".txt"
using namespace std;
 
class spectr
{
public:
    char name[30];
    int god;
};
 
int main()
{
 
    FILE *fp;
    char name[30],file[BUFSIZ];
    spectr *f=new spectr[2];
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите имя файла (для чтения с него)"<<endl;
    cin>>name;
    sprintf(file,"%s%s",name,txt);
 
    if((fp=fopen(file,"r"))==NULL)
    {
        cout<<strerror(errno);
        return 1;
    }
    for( int i=0;getc(fp)!=EOF;i++)
        fscanf(fp,"%s%d",&f[i].name,&f[i].god);
    for(int i=0;i<2;i++)
        cout<<" "<<f[i].name<<" "<<f[i].god;
 
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 16:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение с файла (FILE) (C++):

Вектора и чтение из файла и обратно (File IO) - C++
Ребят! Помогите как сможете! Я никак не могу связать перечисления между собой( И еще никак не могу сделать так, чтобы каждый раз, когда...

Запись/чтение структур (файлы) + разница между FILE * и <fstream> - C++
Всем привет. Порыскал по форуму, погуглил... Решения есть, но они не ясны (что, почему да как) и не все работают. Однако, я так и не нашёл...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
03.11.2013, 22:01 #2
getc(fp) читает символ и переводит указатель дальше.


fscanf
Возвращает количество успешно проведенных преобразо-
ваний. Процесс заканчивается при встрече первой не-
подходящей литеры или признака конца файла (EOF).
Ноль на выходе означает, что не обработано ни одного
поля.

т.е. можно и без getc обойтись
1
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
04.11.2013, 00:42  [ТС] #3
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2013, 00:42
Привет! Вот еще темы с ответами:

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

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

fatal error C1083: Cannot open include file: 'Date.h': No such file or directory - C++
Всем добрый вечер! У меня проблема. Мне нужно, чтобы мой класс содержал обьект другого класса как элемент данных, я его добавила в проект,...

BSCMAKE: error BK1506 : cannot open file '.\Debug\RESDlg.sbr': No such file or directory - C++
--------------------Configuration: RES - Win32 Debug-------------------- Compiling... RESDlg.cpp c:\program files\microsoft visual...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru