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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Holodov
5 / 5 / 0
Регистрация: 01.10.2011
Сообщений: 46
#1

Как правильно объявить fopen - C++

26.11.2011, 23:55. Просмотров 1927. Ответов 6
Метки нет (Все метки)

Доброго времени суток. наткнулся на некоторого рода проблемку. Не могу объявить fopen..
Описываю так как на MSDN написано , а компилятор ругается , мол смотрите объявление fopen;

C++
1
2
3
4
5
6
7
8
9
10
11
int main() 
{
FILE * pFile;
  pFile = fopen ("myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
}
return 0;
}

1>.cpp(28) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\microsoft visual studio 9.0\vc\include\stdio.h(237): см. объявление 'fopen'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 23:55     Как правильно объявить fopen
Посмотрите здесь:

Как правильно объявить структуру - C++
Всем доброго времени суток.Есть задача:Составить программу формирования данных об успеваемости студентов по дисциплине: фамилия И.О., 5...

Как правильно объявить вектор? - C++
Только начинаю постигать STL. Подскажите, как заполнить случайными числами 1..9 значения контейнеров vector и map. И как вектор...

Как правильно объявить массив строк c++ - C++
Подскажите пожалуйста, как реализовать: нужно корректно обьявить массив символов(неполучается) (точнее массив строк), который прога будет...

Как правильно объявить массив байтов? - C++
Как правильно объявить массив байтов? Надо ли вручную выставлять ему размер после "GetBitmapBits"? Я делал так: extern...

Как правильно объявить массив объектов - C++
Как правильно объявить массив объектов: #include <cstdlib> #include <iostream> using namespace std; class orenda_kvartiri {...

Как правильно объявить статический метод - C++
например class A { private: static void method(); // объявление }; // как правильно объявить реализацию?

Как правильно объявить vector в классе? - C++
как правильно объявить вектор? #include <vector> #include <algorithm> using namespace std; extern int map; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
27.11.2011, 00:17     Как правильно объявить fopen #2
Цитата Сообщение от Holodov Посмотреть сообщение
warning
это предупреждение, а не ошибка
для
Цитата Сообщение от Holodov Посмотреть сообщение
visual studio
это нормально, не обращайте внимание
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
27.11.2011, 00:18     Как правильно объявить fopen #3
C++
1
2
3
4
5
ofstream of("test.txt");
   if (!of) return 1;
   for (int i = 0; i < strlen(text); i++)
       of << (char ) tolower(text[i]);
   of.close();
вот рабочий вариант, возможно ты забыл подключить библиотеку stdio. либо используй то что тебе пишет компилятор fopen_s
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
27.11.2011, 05:11     Как правильно объявить fopen #4
Цитата Сообщение от Holodov Посмотреть сообщение
Не могу объявить fopen
это не объявление, это вызов функции
Цитата Сообщение от LostCoast Посмотреть сообщение
либо используй то что тебе пишет компилятор fopen_s
некроссплатформенно
Сыроежка
Заблокирован
27.11.2011, 05:19     Как правильно объявить fopen #5
Holodov,
Очевидно, что это предупреждение было сделано компилятором MS VC++. MS VC++ предлагает свои альтернативные функции для стандартных функций. Ожнако, эти функции, как я отметил выше, не являются стандартными, поэтому если вы будете использовать функции, предлагаемые MS VC++, то ваш код будет непереносим. Поэтому я рекомендую игнорировать эти сообщения. Есть специальная манифестная константа, которая позволяет игнорировать эти сообщения. Вы должны использовать эту константу, чтобы MS VC++ не раздражал вас этим предупреждением. Не следует использовать нестандартные средства, которые имеют мето лишь в отдельно взятом компиляторе.
Holodov
5 / 5 / 0
Регистрация: 01.10.2011
Сообщений: 46
27.11.2011, 11:20  [ТС]     Как правильно объявить fopen #6
Всем спасибо.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 13:05     Как правильно объявить fopen
Еще ссылки по теме:

Как правильно объявить два счётчика в цикле for? - C++
Добрый день. Подскажите, пожалуйста. У меня почему-то не работает следующая конструкци цикла: for(int i=0 , int j=0 ; i&lt;10 ,...

Как правильно объявить массив заданной пользователем размерности - C++
1 cout &lt;&lt; &quot;введите количество X: &quot;; 2 cin &gt;&gt; x; 3 double massiv; как сделать правильно, чтобы скомпелировалась программа ? ...

Подскажите, пожалуйста, как правильно объявить динамически расширяемую строку? - C++
Подскажите, пожалуйста, как правильно объявить динамически расширяемую строку? Когда я объявляю так: char* ch1=new char; и считываю её...

Как в классе правильно объявить массив с константой в качестве размерности? - C++
Приветствую всех! Написал следующий код: Unit1.h class WireBare_Open { const int METAL_MAX; const int SECTION_MAX; ...

Как правильно объявить константы для всего проекта, который состоит из нескольких файлов - C++
какой-нибудь Variables.h в котором будет что-то типа: #define A 50 #define B 40 или const int A 50


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

Или воспользуйтесь поиском по форуму:
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
24.01.2014, 13:05     Как правильно объявить fopen #7
У меня аналогичная проблема....(((( Пытаюсь осуществить копирование файлов с использованием библиотек Си, но у меня ничего не выходит(((((( Вот код программы:
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
#include "stdafx.h"
#include <stdio.h>  
#include <errno.h>  
#define BUF_SIZE 256 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
int main (int argc, char *argv [])  
{ 
FILE *in_file, *out_file; char rec 
[BUF_SIZE]; size_t bytes_in, 
bytes_out; 
char *fname = "some_file.txt";
char *fname2 = "copy_file.txt";
if (argc != 3)  
{ 
printf ("Использование: Cрc file1 File2\n", fname); 
return 1;  
} 
in_file = fopen (fname, "rb");  
if (in_file == NULL)  
{ 
perror (fname ) ; 
return 2;  
} 
out_file = fopen (fname2, "wb");  
if (out_file == NULL)  
    { 
perror (fname2 ) ; 
return 3; 
} 
/* Обрабатываем входной файл по одной записи. */ 
 while ( (bytes_in = fread (rec, 1, BUF_SIZE, in_file) ) > 0)  
{  
bytes_out = fwrite (rec, 1, bytes_in, out_file) ;  
if (bytes_out != bytes_in)  
{ 
perror ("Неисправимая ошибка записи."); 
return 4; 
} 
} 
 fclose (in_file); 
 fclose (out_file); 
}
А вот, что мне выдает отладчик:
1>d:\documents\visual studio 2012\projects\cpc\cpc\cpc.cpp(25): error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 11.0\vc\include\stdio.h(218): см. объявление "fopen"
1>
1>СБОЙ сборки.
1>
1>Затраченное время: 00:00:00.43
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Подскажите пожалуйста, что надо сделать??????? И не судите строго, Си пытаюсь изучать только неделю)
Yandex
Объявления
24.01.2014, 13:05     Как правильно объявить fopen
Ответ Создать тему
Опции темы

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