Задание по C++. Помогите найти ошибку. Прогр выводит только : Н. Хотя такой в файле нет!

программирование C++

Создать список, элементами которого являются символы данные вводятся из файла. Распечатать список в первоначальном виде. Распечатать только элементы-буквы.

#include "stdafx.h"
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <time.h>
#include <stdlib.h>
#include <cmath>
#include <clocale>
#include <iostream>
using namespace std;

struct list
{ char dat; //тип данных списка
struct list *next; // указатель на следующий элемент списка
};
typedef list *P_list; // определение указателя на тип list

void main()
{
setlocale (LC_ALL, "RUS");

FILE *F; // открыть файловый поток F
char *name="E:\\tab2.txt";
int i;

P_list pb; // указатель на начало списка
P_list pt; // указатель на текущий элемент списка


fopen_s(&F,name,"r"); //открыть файл для чтения в потоке F
if (F)
{
//Создание списка
// создать первый элемент

fstream F;
pb=new list; // выделить память под первый элемент

F>>pb->dat; // записать данные
pt=pb; // установить текущий указатель на начало

while (F.eof()=='\0') // цикл для создания остальных эл-в списка
{
pt->next= new list;// очередной элемент (выделить память)
pt=pt->next; //текущий указатель-на вновь созданный элемент
F>>pt->dat;
}
pt->next=NULL; // записать признак конца списка
cout<< endl;

F.close();

// Печать списка целиком
cout<<"Вывод списка целиком: "<<endl;
for (pt=pb,i=1; pt!= NULL ;i++)
{cout<< pt->dat; // печать информационного поля списка
pt=pt->next;
cout<<endl;
}
//

}

system("pause");
}
Ответы:
FILE *F; // открыть файловый поток F
...
fstream F;
...


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.