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

Сосчитать количество строк в символьном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ WinAPI Сделать листбокс в главном окне программы средствами WinAPI http://www.cyberforum.ru/cpp-beginners/thread20539.html
Возможно глупый вопрос поскольку я только только начал изучать с++. Во общем мне поставлена задача сделать листбокс в главном окне программы. А я пока что умею делать это только в диалоговом окне. Подскажите можно ли сделать главное окно - диалоговым по умолчанию. Либо как поместить лист бокс в главное окно? ЗЫ Всякие MFC/ATL пока не использую, нужно без них.
C++ Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран. Сегодняшнее домашнее задание основано именно на этом принципе, однако, вам придется использовать еще и циклы. 1. Пользователь вводит с клавиатуры число - программа должна показать сколько в данном числе цифр. Число вводится целиком в одну переменную. Примечание: Например, пользователь ввел число 12345. На экране должно появиться сообщение о том, что в числе 5 цифр. 2. Пользователь вводит с... http://www.cyberforum.ru/cpp-beginners/thread20536.html
C++ Измерение скорости копирование данных в оперативной памяти!
Там вроде надо два массива содавать я пробовал ничего не вышло((
Поменять стандартный тип данных C++
Народ, помогите с вопросом. В С++ стандартным типом данных является int. Как поменять это на что-то другое. Например, что бы переменная определенная без типа была char: a = 5; // sizeof(a) == 1
C++ Метод удаления по ключу http://www.cyberforum.ru/cpp-beginners/thread20512.html
ребята помогите пожалуста! нужно что то исправить.. ни как не работает метод удаления по ключу.. у меня условие следующее: нужно удалить все марки новее выбраного возраста.(его вводим с клавиатуры) мои марки содержат 4 параметра. (цвет, номинал, страну, возраст) а нужно удалить по одному параметру всю марку разом(то есть весь массив). в менюхе я ввожу число ниже которого все марки...
C++ Класс множество Нужно написать класс множество с конструкторами, деструкторами, операторами. Так вот возник вопрос...как понимать тип данных множество?? Это обычный массив в котором даннеы не могут повторяться, распологаются упорядоченно (обязательно или нет?),.....?? Добавлено через 5 часов 10 минут 26 секунд template <class T> class set { public: //------------------- подробнее

Показать сообщение отдельно
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.01.2009, 06:49     Сосчитать количество строк в символьном массиве
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
 
#include <stdio.h>
#include <stdlib.h>
 
#define MAXLINE  30   /* максимальная длина строки */
#define NLINES   3    /* максимальное количество строк */
 
/* выделяет память под строки и запрашивает для них ввод */
main()
{
    char **s;
    int i;
    
    if ((s = (char **) malloc(NLINES*sizeof(char *))) == NULL)
        return 1;
    for (i = 0; i < NLINES; i++) {
        if ((s[i] = (char *) malloc(MAXLINE*sizeof(char))) == NULL) {
            while (--i >= 0)
                free((void *) s[i]);
            free((void *) s);
            return 2;
        }    
        fgets(s[i], 30, stdin);
    } 
    
    /* gets(s[0]); */ /* раскомментируй и введи строку более 30 символов */
    
    for (i = 0; i < NLINES; i++) {
        printf("%s", s[i]);
        free((void *) s[i]);
    }
    free((void *) s);
    return 0;
}
pavlinux это чо такое

C++
1
    free(*s);
типа всё освобождение памяти ?

gets

Код
[guest@localhost tmp]$ cc test.c -o test
/tmp/ccGTx1aA.o: In function `main':
test.c:(.text+0xcd): warning: the `gets' function is dangerous and should not be used.
то есть в данном случае она стирает не переменные которые идут за строкой а заголовок следующего блока, а если это будет просто массив как раз за ним переменные и вызовы функций точно так же будут перезаписаны

на советуют пишется слитно
насчёт (*s)[i] мне показалось что он память правильно выделяет

Добавлено через 8 минут 29 секунд
C++
1
2
3
4
    for (i = 0; i < n; i++)
        printf("%s\n", *s++);  
  
    free(*s);
не заметил я прикола, так ты вообще память не освобождаешь
какой указатель она попробует освободить ? ты бы хоть запустил прогу свою
 
Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru