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

Открытие потока. Ошибка. Подскажите. - C++

Восстановить пароль Регистрация
 
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
10.12.2009, 13:46     Открытие потока. Ошибка. Подскажите. #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
26
27
28
29
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
 
struct STADION{string name;string vid;string adres;int mest;} stadion[255];
int num=0,tnum=0;
 
int readstadion() 
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","r+");
  if (pFile==0) return 0;
  num=0;
  for (int i=0; fscanf(pFile, "%s %s %s %d", &stadion[i].name,&stadion[i].vid,&stadion[i].adres,&stadion[i].mest)==4;i++)
        {
        num++;
        }
  cout << num << endl;
  fclose (pFile); 
  return 1;
}
 
int main()
{
    if (readstadion()==0) return 0;
    
    return 0;
}
Myfile:
PHP
1
2
3
4
5
6
aa aa tt 12
aa aa tt 12
aa aa tt 12
aa aa tt 12
aa aa tt 12
aa aa tt 12
Debuger:
PHP
1
    (*_Pnext)->_Mycont = 0;
Там находит ошибку, что делаю не так?
Что я забыл? буду благодарен за любую помошь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 13:46     Открытие потока. Ошибка. Подскажите.
Посмотрите здесь:

Ошибка при открытие CD-ROW в коде C++
C++ Ошибка при создании потока
C++ Ошибка при повторном получении данных из потока cin
Ошибка чтения из потока C++
ошибка при открытии потока C++
C++ Вызывть метод одного потока из другого потока
Ошибка создания потока C++
C++ Ошибка при использовании getline для считывания строки из файлового потока
Ошибка при создании потока std::thread C++
Ошибка потока ввода C++
SDL_Thread ошибка создания потока C++
C++ Ошибка С2280 при попытке создания потока

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
10.12.2009, 14:44     Открытие потока. Ошибка. Подскажите. #2
У меня он жалуется на строчку:
C++
1
for (int i=0; fscanf(pFile, "%s %s %s %d", &stadion[i].name,&stadion[i].vid,&stadion[i].adres,&stadion[i].mest)==4;i++)
scanf походу не может считывать string.. %s - это не стринг а char *.

Ты определись на чем ты пишешь на си или на плюсах..
используешь считывание с файла как в си.. вывод, пространство имен, циклы как в с++..
если ты хочешь считывать с++'шным способом то вот набросок кода:

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
40
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
 
struct STADION
{
    string name;
    string vid;
    string adres;
    int mest;
}stadion[255];
int num=0,tnum=0;
 
int readstadion() 
{
  ifstream pFile("myfile.txt");
  if (!pFile) 
{  
  cout << "Error Opening File..";
  cin.get();
  return 1;
}
 
  num=0;
  while(pFile.eof())
  {
  pFile >> stadion[num].name >> stadion[num].vid >> stadion[num].adres >> stadion[num].mest;
  num++;
  }           
  cout << num << endl;
 
  return 0;
}
 
int main()
{
        readstadion();
        return 0;
}
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
10.12.2009, 15:19  [ТС]     Открытие потока. Ошибка. Подскажите. #3
Заменил на char, вроде стало работать.
Благодарю.
Yandex
Объявления
10.12.2009, 15:19     Открытие потока. Ошибка. Подскажите.
Ответ Создать тему
Опции темы

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