Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15

Функции gets_s, printf_s и другие с подчеркиванием

07.12.2019, 15:40. Показов 5283. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я так понимаю, что все данные функции появились в Visual Studio и являются улучшенным вариантом их прототипов. К тому же IDE Dev-C++(с которой я работаю) совсем не понимает данные функции и выдает ошибки при их наличии в программе. Потом, можно считать, что в основном Visual Studio представляет из себя IDE для программирования на С++, а не на чистом Си. В связи с этим возникает вопрос: если к чистому Си указанные функции не имеют никакого отношения, то почему они так часто встречаются в ветке для Си?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2019, 15:40
Ответы с готовыми решениями:

почему в функции add не работает gets_s?
/* Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить К...

Выделение памяти под строку и использование функции gets_s
Не могу понять как динамически выделять память под строки в c++, жалуется функция gets_s. #include<stdlib.h> ...

Перепишите строчку на printf_s
case 1: cout << "\n Red"; break; как строчку эту переписать на printf_s

24
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
08.12.2019, 15:33  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Такого человека можно понять, ибо функция strncpy названа довольно неудачно: ее название как-будто намекает на то, что эта функция предназначена именно для ограниченного по длине копирования строк.
Я так же понимаю эту функцию и что это может где-то пригодится. Что касается '\0' в конце строки, усвоил при работе с массивами строк. Более того, при работе с файлами.txt и функцией fgets() усвоил, что строка заканчивается двумя символами, сначала '\n', а потом '\0'.
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,077
08.12.2019, 16:48
Цитата Сообщение от мама Стифлера Посмотреть сообщение
при работе с файлами.txt и функцией fgets() усвоил, что строка заканчивается двумя символами, сначала '\n', а потом '\0'.
Это не особенность строк, а особенность fgets. Сама строка может содержать любое количество символов '\n' - это просто перевод каретки. Но вот для fgets и подобных символ перевода каретки является признаком конца ввода, поэтому часто оказывается в конце строки в паре с '\0'. Но не всегда: если строка в файле слишком длинная, перед терминирующим нулем не будет '\0'.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,980
08.12.2019, 16:55
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
strlcpy (POSIX)
Разве?
The strlcpy() and strlcat() functions first appeared in OpenBSD 2.4, and
FreeBSD 3.3.
man strlcpy
Там обычно указывают, если функция в POSIX включена.

мама Стифлера, советую установить https://www.cygwin.com/ - это такой как-бы линукс прямо внутри винды. Для первого знакомства с линухами самое оно.
1
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
08.12.2019, 18:38  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
это такой как-бы линукс прямо внутри винды. Для первого знакомства с линухами самое оно.
Спасибо, но мне кажется, что это будет халтура(фальш потолок). То есть - на самом деле никакого линукса у меня не будет, но в то же время будут поддерживаться компилятором версия для линукса.
Нет, для меня это слишком сложно, ну или в идеале нужно иметь 2 компа на разных осях. Но опять же, для начинающего, ось не имеет значения.
Надеюсь вы меня поняли.

Добавлено через 3 минуты
Виртуал бокс в этом плане даже лучше подойдет(реалистичней будет), но не нужно пока.

Добавлено через 11 минут
Все же прав был Evg - чтоб понять всю суть языка - нужно пробовать на нескольких платформах, иначе только на уровне "привет народы"
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 30
08.12.2019, 20:43
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Спасибо, но мне кажется, что это будет халтура(фальш потолок). То есть - на самом деле никакого линукса у меня не будет, но в то же время будут поддерживаться компилятором версия для линукса
Так у тебя нет задачи работать именно под линуксом. А есть задача иметь по крайней мере две сильно различающиеся среды программирования. То, что есть в cygwin'е, на уровне библиотечных функций очень похоже на линукс, т.к. собрано из тех же исходников. Т.е. получишь именно то, что надо. Не всё и не везде, но cygwin в любом случае лучше, чем ничего. Хотя если созреешь до установки линукса хотя бы под виртуальной машиной, то это будет более кошерный вариант
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.12.2019, 20:43

Проблемы с gets_s
#include <iostream> #include <windows.h> #include <stdio.h> #include <string.h> using namespace std; class String { char...

Не работает gets_s()
Почему не работает gets_s()? Как исправить? Работаю в Visual Studio 2015. #include <iostream> #include <conio.h> #include...

Проблемы с подчеркиванием!
Необходимо продолжить подчеркивание до конца строки. Делаю его посредством "shift + _". Когда так делаю, то происходит смещение...

Таблица с подчеркиванием
Здравствуйте. Подскажите, как можно реализовать подобную таблицу с подчеркиваниями. Смысл такой. Будут характеристики. Слева названия,...

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


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru