Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
 Аватар для Holodov
5 / 5 / 2
Регистрация: 01.10.2011
Сообщений: 46

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

26.11.2011, 23:55. Показов 3962. Ответов 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'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2011, 23:55
Ответы с готовыми решениями:

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

Как правильно объявить, расположить?
Глаза уже вытекают за пару дней вспомнить весь c++. Что тут не так? Догадываюсь что я int main запхал в void и string numToBase(unsigned...

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

6
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
27.11.2011, 00:17
Цитата Сообщение от Holodov Посмотреть сообщение
warning
это предупреждение, а не ошибка
для
Цитата Сообщение от Holodov Посмотреть сообщение
visual studio
это нормально, не обращайте внимание
1
82 / 82 / 24
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
27.11.2011, 00:18
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
1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
27.11.2011, 05:11
Цитата Сообщение от Holodov Посмотреть сообщение
Не могу объявить fopen
это не объявление, это вызов функции
Цитата Сообщение от LostCoast Посмотреть сообщение
либо используй то что тебе пишет компилятор fopen_s
некроссплатформенно
1
Заблокирован
27.11.2011, 05:19
Holodov,
Очевидно, что это предупреждение было сделано компилятором MS VC++. MS VC++ предлагает свои альтернативные функции для стандартных функций. Ожнако, эти функции, как я отметил выше, не являются стандартными, поэтому если вы будете использовать функции, предлагаемые MS VC++, то ваш код будет непереносим. Поэтому я рекомендую игнорировать эти сообщения. Есть специальная манифестная константа, которая позволяет игнорировать эти сообщения. Вы должны использовать эту константу, чтобы MS VC++ не раздражал вас этим предупреждением. Не следует использовать нестандартные средства, которые имеют мето лишь в отдельно взятом компиляторе.
1
 Аватар для Holodov
5 / 5 / 2
Регистрация: 01.10.2011
Сообщений: 46
27.11.2011, 11:20  [ТС]
Всем спасибо.)
0
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
24.01.2014, 13:05
У меня аналогичная проблема....(((( Пытаюсь осуществить копирование файлов с использованием библиотек Си, но у меня ничего не выходит(((((( Вот код программы:
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 ==========
Подскажите пожалуйста, что надо сделать??????? И не судите строго, Си пытаюсь изучать только неделю)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2014, 13:05
Помогаю со студенческими работами здесь

Как правильно объявить массив байтов?
Как правильно объявить массив байтов? Надо ли вручную выставлять ему размер после &quot;GetBitmapBits&quot;? Я делал так: ...

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

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

Как правильно объявить vector в классе?
как правильно объявить вектор? #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; extern int map; ...

Как правильно объявить внешнюю структуру
Начал изучение stm32 и возник вопрос Не ругайтесь за лузерский вопрос Задача: по внешнему прерыванию передать 1 байт по SPI extern...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru