Строки С

программирование C++ строки указатели

Есть структура:
struct Students
{
char *name;
int date;
char *group;
int intake;
int deduction;
char *addres;
Students *next;
};
Как мне читать строку через сканф типа чар к примеру
char *name;
Спасибо

Примечание:
Хороше, а если строка не известной длинной ?
Ответы:
cin>>Students->name;
Student *s;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Ай молодца! Я имею в виду вас, Старший бригады телепатов и вас, Vovochkal. Вы хоть понимаете, что вы делаете? Вот из-за таких программистов потом в программном обеспечении появляются дыры в безопасности. Вы выделяете память под mystds-&amp;gt;name через malloc, один 20 байт, другой 100 а далее делаете  scanf, без ограничений в формате, но кто вам сказал, что введут 20 символов или 100 соответственно, а не скажем 150? И что в оставшиеся 150 потом не запишут хакерский шеллкод, который вашими стараниями потом попадает в память в область структуры Students? В результате возможен &amp;quot;срыв стека&amp;quot; с запуском этого шелл-кода! Пионеры вы, ребята, а не программисты, уж простите!
Если используете scanf, будьте любезны указать КОЛИЧЕСТВО вводимых символов исходя из количества памяти, которое вы выделили под указатель.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.