Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при работе с файлами в Borland C++ 3.1 
V
    Опции темы
Alex103
Дата 4.6.2009, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Существует программа которая вытаскивает из текстового файл слова в кавычках. Вот код:
Код

#include <iostream.h>
#include <string.h>
#include <stdio.h>

int main(){
 int i,flag=0;
 char buf[50];
 FILE *fp;
 fp=fopen("text.txt","r+");
 fgets(buf,50, fp);
 cout <<"Exit words:\n";
 for(char *p=buf;*p;++p){
        if(*p=='"')flag^=1;
        else if(flag==1)cout <<*p;
 }
 cin >> i;
}


Но после ее выполнения на экран ничего не выводит. Хотя в Borland C++ Builder 6 все работает прекрассно.
Подскажите в чем может быть проблемма.


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
chaos
Дата 4.6.2009, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Код

cout << flush;


Добавлено через 1 минуту и 2 секунды
или вместо
Код

cout << "....\n";

делай так
Код

cout << "...." << endl;


Добавлено через 3 минуты и 29 секунд
да и вообще зачем использовать и stdio и iostream. я бы юзал что нибудь одно:
если stdio то и выводил через printf
если iostream то с файлами работал через ifstream
PM WWW   Вверх
Alex103
Дата 10.6.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Попробовал адаптировать код:
Код

#include <iostream.h>
#include <string.h>
#include <stdio.h>

int main(){
 int i,flag=0;
 char buf[50];
 FILE *fp;
 fp=fopen("text.txt","r");
 if(!fp)cout<<"Error open file";
 fgets(buf,50, fp);
 cout <<"Exit words:\n";
 for(char *p=buf;*p;++p){
    if(*p=='"')flag^=1;
        else if(flag==1)cout <<*p;
 }
 cin >> i;
}




Выдает ошибку Error open file
Подскажите в чем может ыбть проблемма??


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
zim22
Дата 10.6.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 24
Всего: 69



Цитата(Alex103 @  10.6.2009,  14:12 Найти цитируемый пост)
Выдает ошибку Error open fileПодскажите в чем может ыбть проблемма??

в том, что произошла ошибка во время открытия файла. возможно его нет в каталоге с программой. попробуйте указать полный путь к файлу. 

Это сообщение отредактировал(а) zim22 - 10.6.2009, 14:20


--------------------
PM MAIL   Вверх
Alex103
Дата 10.6.2009, 14:24 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



поправил
Код

 fp=fopen("C:\text.txt","r");


Выдает ту же ошибку. Самое интересное в том что в C++ Builder 6 все работает прекрассно. А мне нужно лабу сдать в BC3.1

Это сообщение отредактировал(а) Alex103 - 10.6.2009, 14:25


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
azesmcar
Дата 10.6.2009, 14:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(Alex103 @  10.6.2009,  14:24 Найти цитируемый пост)
поправил

хреново как-то поправил.
Цитата

fp=fopen("C:\\text.txt","r");


PM   Вверх
Alex103
Дата 10.6.2009, 14:53 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(azesmcar @ 10.6.2009,  14:37)
Цитата(Alex103 @  10.6.2009,  14:24 Найти цитируемый пост)
поправил

хреново как-то поправил.
Цитата

fp=fopen("C:\\text.txt","r");


Действительно заработало, а ы чем смысл такой записи?? Это же ведь локальный файл, а к ним ведется обращение через один слеш. 

Теперь Borland C++ Builder 6 ругается на эту запись, в чем может быть проблемма??

Это сообщение отредактировал(а) Alex103 - 10.6.2009, 14:56


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
СтадоБаранов
Дата 10.6.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 10.6.2009

Репутация: нет
Всего: нет



один слеш используется для спецсимволов наподобие \n \t  ... если постаить два слеша, то компилятор понимет его как один... отменяет спецназначение.
PM MAIL   Вверх
xvr
Дата 10.6.2009, 14:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(Alex103 @ 10.6.2009,  14:53)
Цитата(azesmcar @ 10.6.2009,  14:37)
Цитата(Alex103 @  10.6.2009,  14:24 Найти цитируемый пост)
поправил

хреново как-то поправил.
Цитата

fp=fopen("C:\\text.txt","r");


Действительно заработало, а ы чем смысл такой записи?? Это же ведь локальный файл, а к ним ведется обращение через один слеш. 

Теперь Borland C++ Builder 6 ругается на эту запись, в чем может быть проблемма??

Ох, не сдашь ты лабу  smile 
PM MAIL   Вверх
Alex103
Дата 10.6.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Спасибо всем за помощь. Тема закрыта. Лабу сдам обязательно.  smile 


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
andrew_121
Дата 10.6.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Цитата(Alex103 @  10.6.2009,  14:53 Найти цитируемый пост)
Теперь Borland C++ Builder 6 ругается на эту запись, в чем может быть проблемма??

По подробнее пожалуйста....


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.