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

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

Войти
Регистрация
Восстановить пароль
 
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
#1

не открывает файл!!! - C++

24.10.2010, 15:38. Просмотров 965. Ответов 10
Метки нет (Все метки)

что делать? вроде бы всё правильно, но он не открывает даже первый файл Code!!!
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//---------------------------------------------------------------------------
 
#include <vcl.h>
 
#pragma hdrstop
#include <stdio.h>
#include<iostream.h>
#include <dos.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
 
#include<fstream.h>
#include<string.h>
 
const int block=6;  //кодирование блоками по 6 символов
 
int main()
{
 int i,j;
 
 cout<<"GOGOGOGO!!!\n" ;
 getch();
 char *buf=new char[i];      //декларация массива для чтение строк в файле
 FILE *ifin;           //открытие файла для чтения
 ifin=fopen("C:\Work_KIZI\Code.txt","r");
 if(!ifin)
 {          //если попытка не удалась
    puts("Ne mogu otkrut fail Code");
    getch();
    return 1;
 }
 
 char *buf2=new char[i];      //декларация массива для чтение строк в файле
 FILE *ifin2;           //открытие файла для чтения
 ifin2=fopen("C:\Work_KIZI\Out.txt","r");
 if(!ifin2)
 {              //если попытка не удалась
    puts("Ne mogu otkrut fail Out");
    getch();
    return 1;
 }
 
 cout<<"Voshol-1\n";
 getch();
 while(fgets(buf2,1024,ifin2))
 {
  cout<<"Voshol-1\n";
  getch();
  for(i=0;i<1024;i++)
  {
    cout<<"Voshol-2\n";
    getch();
    fgets(buf,(block+1),ifin2);
    if(buf[0]==buf2[i])
    {
     cout<<"Voshol-3\n";
     getch();
     for(j=1;j<(block+1);j++)
      cout<<buf[j];
     cout<<" . ";
     getch();
    }
  }
 }
 
 getch();
 fclose(ifin);
 fclose(ifin2);
 delete[]buf;
 delete[]buf2;
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
24.10.2010, 15:44     не открывает файл!!! #2
Не инициализирован i.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
24.10.2010, 15:50     не открывает файл!!! #3
IrishaIrinaChe, поставьте двойные слеши:
C
1
ifin=fopen("C:\\Work_KIZI\\Code.txt","r");
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
24.10.2010, 16:00  [ТС]     не открывает файл!!! #4
dihlofos, скажите, а что не правильно в этом куске?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while(fgets(buf2,1024,ifin2))
 {
  cout<<"Voshol-1\n";
  getch();
  for(i=0;i<1024;i++)
  {
    cout<<"Voshol-2\n";
    getch();
    fgets(buf,(block+1),ifin2);
    if(buf[0]==buf2[i])
    {
     cout<<"Voshol-3\n";
     getch();
     for(j=1;j<(block+1);j++)
      cout<<buf[j];
     cout<<" . ";
     getch();
    }
  }
 }
с учётом, что в файле out хранится текст abc
а в файле code:
a000000
b000001
c000010

на экране должно появиться 000000.000001.000010.

Добавлено через 4 минуты
хм.и ещё почему-то удаляется текст из файла code.

что делать???
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
24.10.2010, 16:06     не открывает файл!!! #5
C++
1
buf[0]==buf2[i]
Строки нельзя так сравнивать. Используйте strcmp.
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
24.10.2010, 16:13  [ТС]     не открывает файл!!! #6
разве в данном случае я сравниваю не элементы массивов?
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
24.10.2010, 16:19     не открывает файл!!! #7
IrishaIrinaChe, а блин. Да, не прав.

Добавлено через 5 минут
Такой глупый вопрос: а вы где-то используете ifin ?
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
24.10.2010, 16:21  [ТС]     не открывает файл!!! #8
да. это файл code. я с него строки считываю.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
24.10.2010, 16:22     не открывает файл!!! #9
Цитата Сообщение от IrishaIrinaChe Посмотреть сообщение
а. это файл code. я с него строки считываю.
В какой строчке кода происходит считываение ? Приведите текущий полный код и номер строчки.
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
24.10.2010, 16:26  [ТС]     не открывает файл!!! #10
Andrew_Lvov, сообщение выше с while. там fgets
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2010, 16:28     не открывает файл!!!
Еще ссылки по теме:

C++ MSVS 2012: fstream не открывает файл при дебаге
C++ Программа, которая просто открывает текстовый файл
VS 2013 открывает 2 консоли C++
C++ Ios::out не открывает файл
C++ Файл: Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы...

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

Или воспользуйтесь поиском по форуму:
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
24.10.2010, 16:28     не открывает файл!!! #11
В сообщении выше fgets из файла ifin2.
Yandex
Объявления
24.10.2010, 16:28     не открывает файл!!!
Ответ Создать тему
Опции темы

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