Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
zombiethegame
1 / 1 / 0
Регистрация: 08.08.2011
Сообщений: 23
#1

Что за ошибка с использованием cstdio? - C++

18.01.2012, 01:00. Просмотров 3547. Ответов 23
Метки нет (Все метки)

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>
#include <clocale>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    double fahr,cels;
    printf("\nВведите тепмературу по Фаренгейту\n");
    scanf( "%lf", &fahr);
    cels = 5.0 / 9 ( fahr - 32 );
    printf("По Фаренгейту: %6.2lf, По Цельсию: %6.2lf\n, fahr, cels");
    system("pause");
    return 0;
}
И выдает такую ошибку:
fahrengeit.cpp(9) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306): см. объявление 'scanf'

Использую Visual C++ 2008
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2012, 01:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что за ошибка с использованием cstdio? (C++):

cstdio vs fstream - C++
Есть программа, виводящяя 16-ричный дамп бинарного файла (вместо каждого байта входного файла виводится значение в 16-ричной системе) Для...

Из fstream в cstdio - C++
Всем привет. Стоит задача: Написать программу, которая считывает текст из файла и записывает в другой файл только те предложения, которые...

из cstdio в fstream - C++
вод программа, написанная через функцию cstdio #include &quot;stdafx.h&quot; #include &lt;cstdio&gt; #include &lt;iostream&gt; #pragma warning(disable:...

<cstdio> выдает 299 ошибок - C++
По совету с форума начал изучать C++ по книге &quot;Герберт Шилдт - Самоучитель C++&quot;. При выполнении одного из уроков visual studio выдает...

Почему работает puts() из <cstdio> ? - C++
Всем привет! Вы можете сказать, что мне нечего делать, но я спрошу :) Элементарный ХеллоуВорлд #include &lt;cstdio&gt; int main() { ...

Работа с файлом без использования библиотеки cstdio - C++
Добрый день! Было дано задание: создать файл и работать с ним без использования библиотеки cstdio. Если есть какие-то идеи, прошу...

23
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
18.01.2012, 01:04 #2
Цитата Сообщение от zombiethegame Посмотреть сообщение
И выдает такую ошибку:
Цитата Сообщение от zombiethegame Посмотреть сообщение
warning
На каком языке warning - это ошибка?
0
NoMasters
Псевдослучайный
1766 / 1108 / 74
Регистрация: 13.09.2011
Сообщений: 3,153
18.01.2012, 01:05 #3
проблемы с английским? Компилятор считает scanf небезопасной функцией. Даже интересно, почему он так думает... Ссылки на этот самый "online help" там нет?
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
18.01.2012, 01:06 #4
zombiethegame, напиши через cout, cin и не будет тебе никаких ошибок!
0
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
18.01.2012, 01:06 #5
ето же не ошибка.ето предупреждение о том что данная функция не желательна к использованию так как она не достаточно безопасна.и советуют использовать scanf_s
0
ValeryS
Модератор
6752 / 5161 / 493
Регистрация: 14.02.2011
Сообщений: 17,338
18.01.2012, 01:09 #6
Цитата Сообщение от NoMasters Посмотреть сообщение
Компилятор считает scanf небезопасной функцией. Даже интересно, почему он так думает...
потому что проверки нет вводимых значений
Цитата Сообщение от zombiethegame Посмотреть сообщение
cels = 5.0 / 9 ( fahr - 32 );
А вот на это ничего не сказал????
0
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
18.01.2012, 01:10 #7
Цитата Сообщение от NoMasters Посмотреть сообщение
проблемы с английским? Компилятор считает scanf небезопасной функцией. Даже интересно, почему он так думает... Ссылки на этот самый "online help" там нет?
потому что она не является безопасной(может вызвать переполнение буфера)
но для учебных программ это не имеет значения
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
18.01.2012, 01:11 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");    
    double fahr,cels;
        printf("\nВведите тепмературу по Фаренгейту\n");
        scanf( "%lf", &fahr);
        cels = 5.0 / 9*( fahr - 32 );
        printf("По Фаренгейту: %6.2lf, По Цельсию: %6.2lf\n, fahr, cels");
        system("pause");
        return 0;
}
вот так как то
0
zombiethegame
1 / 1 / 0
Регистрация: 08.08.2011
Сообщений: 23
18.01.2012, 01:19  [ТС] #9
Цитата Сообщение от Mr.kto Посмотреть сообщение
zombiethegame, напиши через cout, cin и не будет тебе никаких ошибок!
Через cout и cin я умею. В книге написано использовать С библиотеку(в половине примеров). Так что нужно понять как она работает))

Хоть это и предупреждение, хотелось бы что бы оно больше не высвечивалось, можно это как то сделать?
А то не люблю warning'и)

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
потому что проверки нет вводимых значений

А вот на это ничего не сказал????
Сказал, но это я заметил и исправил)
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
18.01.2012, 01:25 #10
Цитата Сообщение от zombiethegame Посмотреть сообщение
можно это как то сделать?
добавь библиотеки
#include "stdafx.h"
#include <stdio.h> - замена #include <сstdio>
#include <iostream>
0
silent_1991
Эксперт С++
4993 / 3051 / 149
Регистрация: 11.11.2009
Сообщений: 7,038
Завершенные тесты: 1
18.01.2012, 01:34 #11
Цитата Сообщение от Mr.kto Посмотреть сообщение
#include "stdafx.h"
А не могли бы вы сказать, для чего?

Не по теме:

Вопрос с подвохом.

0
Artishok
ЧакЭ одобряЭ
279 / 278 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
18.01.2012, 01:37 #12
Цитата Сообщение от zombiethegame Посмотреть сообщение
А то не люблю warning'и)
да просто отключить можно если мешает
C++
1
#pragma warning(disable:4996)
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
18.01.2012, 05:58 #13
добавь библиотеки
#include "stdafx.h"
#include <stdio.h> - замена #include <сstdio>
#include <iostream>
Mr.kto, зачем?
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
18.01.2012, 09:53 #14
Цитата Сообщение от retmas Посмотреть сообщение
потому что она не является безопасной(может вызвать переполнение буфера)
но для учебных программ это не имеет значения
в одном компиляторе она является небезопасной
небезопасная функция в C - gets(), её заменяют на fgets()
(в C1X сделали gets_s() )
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
18.01.2012, 12:59 #15
Цитата Сообщение от silent_1991 Посмотреть сообщение
А не могли бы вы сказать, для чего?
stdafx.h - инклуд-файл, который служит для генерации файла предкомпилированных заголовков; в него включено большинство стандартных и используемых в каждом приложении включаемых файлов. Сделано это для того, чтобы ускорить компиляцию проекта.
0
18.01.2012, 12:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2012, 12:59
Привет! Вот еще темы с ответами:

что не так с использованием функций? - C++
выдаёт деление на ноль #include&lt;iostream.h&gt; #include&lt;math.h&gt; double Ln_a() { double a,S; int i; S=0; for (i=0;i&lt;4;i++) ...

Ошибка с использованием while - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; char f1(int x) {return (char)x;} int main() { int a; int b=0;

Что такое перегрузка оператора? Что у меня в коде за ошибка? - C++
Что же я написал?? Что оно не компилится? Что значит error C2275: Superclass: недопустимое использование этого типа в качестве выражения ...

Ошибка в программе с использованием функций - C++
#include &lt;stdio.h&gt;//подключение #include &lt;conio.h&gt;//необходимых #include &lt;locale&gt;//библиотек #include &lt;time.h&gt; void...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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