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

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

Войти
Регистрация
Восстановить пароль
 
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
#1

Ошибка в коде - C++

25.06.2012, 15:18. Просмотров 473. Ответов 11
Метки нет (Все метки)

Почему программа не открывает указанный файл? Кто знает, помогите!


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
#include "stdafx.h"
#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{   setlocale(LC_ALL,"Russian"); 
    char s[256];
    FILE *Text;
    cin>>s;
    Text = fopen ( "d:\\Text.txt" , "rb" );
if (Text==NULL)
{
printf("He удается открыть файл.\n");
exit(1);
}           
    size_t const n=(sizeof(Text));
    char buffer[n]; 
    char str[10]; 
    cout << "Введите последовательность символов ( вводим на английском ) "; 
    cin >> str;        
    while(buffer[n]=fgetc(Text)!=EOF)
        {        
            if(strstr(buffer,str) != NULL)  // strstr возвращает указатель
            {
              cout << "Совпадение обнаружено " << str << endl;         
            } else
            { cout << "Совпадений нет"<< endl;}
        }
        
        system("Pause"); 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 15:18     Ошибка в коде
Посмотрите здесь:

Ошибка в коде - C++
#include &lt;fstream&gt; using namespace std; ifstream fin (&quot;input.txt&quot;); ofstream fout (&quot;output.txt&quot;); int...

Ошибка в коде - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; using namespace std; int main(){ FILE *f; char c1; int i; f =...

Ошибка в коде - C++
В чем проблема? Подскажите! Она меня уже из себя выводит! Выдает: ...

Ошибка в коде - C++
Здравствуйте. В книге &quot;ООП&quot; Р. Лафоре, в главе 6 есть программка. Которая не хочет запускаться. Сперва набирал сам, после &quot;долгих мучений&quot;...

C++ ошибка в коде - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main(){ double a=1.2; double b=2.7; cout&lt;&lt; avg (a, b);...

Ошибка в коде. - C++
Доброго времени суток задали нам сегодня задачу решить примерhttp://pic.ipicture.ru/uploads/091102/kKTR6dTEmX.png написал код но он не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 15:26     Ошибка в коде #2
А файл существует?
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
25.06.2012, 15:30  [ТС]     Ошибка в коде #3
Цитата Сообщение от Catstail Посмотреть сообщение
А файл существует?
Да, файл по указанному адресу существует. Моя программа должна находить какую-нибудь последовательность в этом файле. Если файл не успешено открыт, то функция возвращает ноль и выводится сообщение: He удается открыть файл. Я ввожу другие несуществующие названия и всё равно не выводится сообщение! Не знаете в чём дело?
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 15:34     Ошибка в коде #4
Цитата Сообщение от Dady Посмотреть сообщение
Если файл не успешено открыт, то функция возвращает ноль
но в коде написано:

Цитата Сообщение от Dady Посмотреть сообщение
if (Text==NULL) { printf("He удается открыть файл.\n"); exit(1); }
т.е. возвращает 1.

Если файл не удается открыть - программа выдает сообщение и завершается. В твоем случае это так? Или программа чего-то спрашивает?
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
25.06.2012, 15:39  [ТС]     Ошибка в коде #5
Цитата Сообщение от Catstail Посмотреть сообщение
Если файл не удается открыть - программа выдает сообщение и завершается. В твоем случае это так? Или программа чего-то спрашивает?
Сейчас поменял на строку:
C++
1
if (Text!=NULL)
И при любом вводе выходит сообщение: He удается открыть файл.
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 15:48     Ошибка в коде #6
Это if (Text!=NULL) ты зря. Должно быть: if (Text == NULL)[/B]

Я загрузил твой код в VC6.0 - файл (если он есть!) успешно открывается. Проверь правильность имен. А может файл держит какой-либо процесс?
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
25.06.2012, 15:55  [ТС]     Ошибка в коде #7
Цитата Сообщение от Catstail Посмотреть сообщение
Я загрузил твой код в VC6.0 - файл (если он есть!) успешно открывается. Проверь правильность имен. А может файл держит какой-либо процесс?
А если вы вводите несуществующее название, у вас вылазеет сообщение: He удается открыть файл.
Запишите, пожалуйста, строчку на английском: qwertyuiop в файл.А потом запустите программу и в консоли после слов "Введите последовательность символов ( вводим на английском ) " введите например erty(она входит в последовательность из файловой строчки). Выведет ли он сообщение об обнаружении совпадения. Заранее благодарю
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 16:13     Ошибка в коде #8
Вот это работает:

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
#include "stdio.h"
#include "iostream.h"
#include "string.h"
 
int main(int argc, char* argv[])
{
 
    FILE *Text;
 
    Text = fopen ( "d:\\text.txt" , "r" );
 
    if (Text==NULL)
    {
       printf("He ГіГ¤Г*ГҐГІГ±Гї îòêðûòü ГґГ*éë.\n");
       return 1;
    }           
 
    char buffer[512]; 
    char str[10]; 
 
    cout << "Insert string "; 
    cin >> str;        
    
    while (fscanf(Text,"%s",buffer) != EOF)
    {
        if (strstr(buffer,str) != NULL)
        {
            cout << "Found!";
            break;
        }
                for (int i=0; i < 512; i++) buffer[i]=0;
    }
 
    fclose(Text);
    
    return 0;
}
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
25.06.2012, 16:27  [ТС]     Ошибка в коде #9
Цитата Сообщение от Catstail Посмотреть сообщение
Вот это работает:
А вы вкакой среде работаете?
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 16:28     Ошибка в коде #10
Visual C++ 6.0
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
25.06.2012, 16:34  [ТС]     Ошибка в коде #11
Цитата Сообщение от Catstail Посмотреть сообщение
Visual C++ 6.0
А я работаю в VS 2010. Запускаю вашу программу и появляется сразу сообщение: He удается открыть файл. Что может быть?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 16:51     Ошибка в коде
Еще ссылки по теме:

Ошибка в коде - C++
Код С++ #include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; void Vyvod(int**a, int m); void Sum0(int**a,int &amp;Sum0); void Sort(int**a,int...

Ошибка в коде - C++
/* Дан список из n целых чисел a1,a2, ... an. Перемемстить в начало списка все элементы, которые являются локальными максимум, то...

Ошибка в коде - C++
Помогите пожалуйста найти ошибку #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;cmath&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt;...

Ошибка в коде - C++
Помогите пожалуйста исправить ошибку, долго не могла понять, как это исправить Задание было таким: составить программу, которая для...


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

Или воспользуйтесь поиском по форуму:
Catstail
Модератор
22515 / 10920 / 1774
Регистрация: 12.02.2012
Сообщений: 18,067
25.06.2012, 16:51     Ошибка в коде #12
Отсутствие файла или диска d:. Попробуй изменить имя файла Text.txt -> Qext.txt. Что-нибудь изменится?
Yandex
Объявления
25.06.2012, 16:51     Ошибка в коде
Ответ Создать тему
Опции темы

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