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

Вопрос о динамическом выделении памяти для строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ оператор ввода http://www.cyberforum.ru/cpp-beginners/thread21452.html
помогите плз... мне нужен оператор, ограничивающий количество введенных символов ( в частности как в линухе - считывание без Ентара) и время ввода, так же очень хотелось бы, что бы он умел считывать стрелки, буквы и другие софтовые и хардовые клавишы, переводя их в число (записывая в переменную типа инт)... кто-нибудь знает как заставить так работать сканф или другое такое чудо....
C++ Определить индекс столбца, в котором находится максимальное количество нулей определить индекс столбца, в котором находится максимальное кол-во нулей. Переставить элементы данного столбца в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread21435.html
C++ Как открыть бинарный файл, не зная его структуру?
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
Составить судоку. Разгадать ее и описать алгоритм. C++
Составить судоку.разгадать ее и описать агларитм.:help:
C++ Нужна консультация по Visual Studio 6.0 http://www.cyberforum.ru/cpp-beginners/thread21349.html
Я никогда не писал в вижуал студии, и у меня ее нет, чтобы проверить, поэтому прошу консультации. Есть небольшая прога на досовом с++(Борландовский компилятор). Она нормально скомпилируется в качестве консольного приложения на студии или там будут какие-то ньюансы?
C++ Задачи с массивами Задан массив Y(M). Вы числить сумму 2ух наибольших и 2ух наименьших элементов массива.(M>5) ПОМОГИТЕ КТО МОЖЕТ ОЧЕНЬ НАДО!!! подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.01.2009, 23:41     Вопрос о динамическом выделении памяти для строки
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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXLINE  1000   /* максимальная длина строки */
 
/* выделяет память для введённой строки */
main()
{
    char *s;
    unsigned len;
    
    if ((s = (char *) malloc(MAXLINE)) == NULL)
        return 1;
    if (fgets(s, MAXLINE, stdin) == NULL) {
        free((void *) s);
        return 2;
    }    
    if ((len = strlen(s)) < MAXLINE-1)
        if (realloc((void *) s, len+1) == NULL) {
            free((void *) s);
            return 3;
        }
    printf("%s", s);
    free((void *) s);
    return 0;    
}
суть в том, что сначала записываешь её в большой массив а потом его ужимаешь
 
Текущее время: 01:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru