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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение файла на Си++ 
:(
    Опции темы
CoDecode
Дата 11.8.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!

Я использую GCC 4.1.2, сижу на Линуксе и пытаюсь на Си++ прочитать из файла используя стандартные функции обычного Си. Говорят что Си++ спокойно разбирается в этом коде, потому что подлючены стандартные stdio.h и stdlib.h. Использую код, вида:

Код

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
FILE * fi;
char* file_name = "file";
fi= fopen(file_name, "r");
int n;
   while( !feof(fi) ) {
     fscanf( fi, "%d", &n );
   /* a code */
   }
   fclose(fi);  
}


Но почему компилятор g++ говорит, мол: test.cxx:8: error: expected constructor, destructor, or type conversion before ‘=’ token указывая на fi= fopen(file_name, "r");?
Может ненужно использовать Си-шные функции а попробовать как-то средствами Си++ - библиотек? Но почему он не хочет?

Простите, может я что-то туплю, я не совершенно знаю Си++ и GCC..

Спасибо! smile 
PM MAIL   Вверх
Remiznik
Дата 11.8.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у меня так вот скомпилировал 
Код

gcc -o test test.c


а вот так 
Код

 g++ -o test test.c


выдал ошибку 
test.c: In function ‘int main(int, char**)’:
test.c:5: предупреждение: deprecated conversion from string constant to ‘char*’

но почему незнаю )

Добавлено через 5 минут и 44 секунды
но если поправить твой код 
Код

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
FILE * fi;
char file_name[] = "file";
fi= fopen(file_name, "r");
int n;
   while( !feof(fi) ) {
     fscanf( fi, "%d", &n );
   /* a code */
   }
   fclose(fi);  
}


то нормальна компилируется )
PM MAIL   Вверх
nickless
Дата 11.8.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


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

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



Цитата(Remiznik @  11.8.2009,  21:17 Найти цитируемый пост)
выдал ошибку 

Это не ошибка, это
Цитата(Remiznik @  11.8.2009,  21:17 Найти цитируемый пост)
предупреждение

потому, что тип "file" - const char* , а не char *


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
andrew_121
Дата 11.8.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


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

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



А в чем собственно вопрос?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Vampir41k
Дата 12.8.2009, 03:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



CoDecode
а смысл говорить за с++ если не используете нечего от плюсов, компильте уже на gcc, а не g++
на с++ было бы проще читать и писать в файл через ifstream и ofstream
PM MAIL WWW ICQ   Вверх
EnTrace
Дата 28.1.2012, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Удобнее использовать fstream.

Код

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
string str = "Testing... OK!";
fstream name("file.txt");

//Запись в файл;
name << str;
//Чтение из файла;
name >> str;
return 0;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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