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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Chelius
Сообщений: n/a
#1

Подскажите пожалуйста - C++

25.11.2009, 03:40. Просмотров 1721. Ответов 25
Метки нет (Все метки)

Нужно ввести в 1 строковую переменную или символьный массив текст из файла с абзацами.Как это реализовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
25.11.2009, 04:17     Подскажите пожалуйста #2
предположу что нужно ввести класс
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
25.11.2009, 10:27     Подскажите пожалуйста #3
Здравствуйте я начал изучать программирование на С++ мне он необходим для изучении 3d графических программ таких как 3ds max,Maya дело в то что на С++ писались эти программы,и дополнения можно писать к ним тоже на этом языке,но чтобы их писать нужно знать каким програмным кодом они были написанны или алгоритм этих программ (поправьте меня если я в чём то ошибаюсь)

Вопрос состоит в том что,как мне открыть и узнать как писались эти программы,какие файлы нужно открывать???

В дополнении хочу спросить что слышал я о программах Декомпиляторах,не их ли используют чтобы посмотреть dll файлы в которых этот код и написан?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.11.2009, 17:45     Подскажите пожалуйста #4
Работает, но есть странность...
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
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
 
int main(){
    FILE *fp;
    size_t flen, freaden;
    char *fname = "text.txt";
    char *content;
    
    if ( (fp = fopen(fname, "r")) == NULL ){
        printf("Can't open file %s\n", fname);
        exit(1);
    }
    
    fseek(fp, 0, SEEK_END);
    flen = ftell(fp);
    rewind(fp);
    
    printf("Length of file is %d bytes\n", flen);
    
    if ( (content = (char*)malloc(flen + 1)) == NULL ){
        perror("Not enough memory\n");
        exit(1);
    }
    /*
    if ( fread(content, 1, flen, fp) != flen ){
        perror("Can't read from file\n");
        exit(1);
    }
    */
    freaden = fread(content, 1, flen, fp);
    fclose(fp);
    
    printf("Readen from file %d bytes\n", freaden);
    
    content[flen] = 0;
    printf("Content of %s is:\n\n%s\n", fname, content);
    
    free(content);
    content = NULL;
    
    exit(0);
}
Файл текстовый - кусок текста с адобовского сайта.
Смущает вот, что:
Код
Length of file is 921 bytes
Readen from file 917 bytes
Текстовый редактор тоже говорит, что в файле 921 байт. При этом вроде всё напечаталось, никаких пустых абзацев и прочей "неучтёнки"... Так волей-неволей в скрытый текст поверишь
Подскажите пожалуйста
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.11.2009, 18:07     Подскажите пожалуйста #5
А вот в MacOS X 10.4.11 и FreeBSD 6.2 всё правильно показывается...
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
25.11.2009, 18:34     Подскажите пожалуйста #6
Вы извените но я пока несовсем понимаю что вы мне написали я веть недавно начал месяц где то,что можно за месяц изучить!
Если можно напишите попроще)?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.11.2009, 18:51     Подскажите пожалуйста #7
kdmfilm, я вообще-то задание делал... Вот это:
Цитата Сообщение от Chelius Посмотреть сообщение
Нужно ввести в 1 строковую переменную или символьный массив текст из файла с абзацами.
А информацию о том, как писать плагины для той или иной программы, лучше всего искать на сайте производителя в разделе "для разработчиков"... Правда, чтобы их (плагины) писать, нужно всё-таки знать язык, при чём неплохо...
Chelius
Сообщений: n/a
25.11.2009, 19:33     Подскажите пожалуйста #8
Цитата Сообщение от easybudda Посмотреть сообщение
kdmfilm, я вообще-то задание делал... Вот это:

А информацию о том, как писать плагины для той или иной программы, лучше всего искать на сайте производителя в разделе "для разработчиков"... Правда, чтобы их (плагины) писать, нужно всё-таки знать язык, при чём неплохо...
Спасиба! но похоже я не верно сформулировал. мне нужно работать со всем файлом и я предполагал что его текст можно будет полностью (с абзацами) ввести в символьный массив или строковую переменную. так как тревиального решения никто не предложил я ошибался в предположениях

Добавлено через 3 минуты
Цитата Сообщение от easybudda Посмотреть сообщение
Работает, но есть странность...
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
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
 
int main(){
    FILE *fp;
    size_t flen, freaden;
    char *fname = "text.txt";
    char *content;
    
    if ( (fp = fopen(fname, "r")) == NULL ){
        printf("Can't open file %s\n", fname);
        exit(1);
    }
    
    fseek(fp, 0, SEEK_END);
    flen = ftell(fp);
    rewind(fp);
    
    printf("Length of file is %d bytes\n", flen);
    
    if ( (content = (char*)malloc(flen + 1)) == NULL ){
        perror("Not enough memory\n");
        exit(1);
    }
    /*
    if ( fread(content, 1, flen, fp) != flen ){
        perror("Can't read from file\n");
        exit(1);
    }
    */
    freaden = fread(content, 1, flen, fp);
    fclose(fp);
    
    printf("Readen from file %d bytes\n", freaden);
    
    content[flen] = 0;
    printf("Content of %s is:\n\n%s\n", fname, content);
    
    free(content);
    content = NULL;
    
    exit(0);
}
Файл текстовый - кусок текста с адобовского сайта.
Смущает вот, что:
Код
Length of file is 921 bytes
Readen from file 917 bytes
Текстовый редактор тоже говорит, что в файле 921 байт. При этом вроде всё напечаталось, никаких пустых абзацев и прочей "неучтёнки"... Так волей-неволей в скрытый текст поверишь
Вложение 14496


Спасиба! но похоже я не верно сформулировал. мне нужно работать со всем файлом и я предполагал что его текст можно будет полностью (с абзацами) ввести в символьный массив или строковую переменную. так как тревиального решения никто не предложил я ошибался в предположениях

Добавлено через 41 секунду
Цитата Сообщение от so1o Посмотреть сообщение
предположу что нужно ввести класс
Спасиба! а по конкретнее можно?

Добавлено через 1 минуту
Цитата Сообщение от kdmfilm Посмотреть сообщение
Здравствуйте я начал изучать программирование на С++ мне он необходим для изучении 3d графических программ таких как 3ds max,Maya дело в то что на С++ писались эти программы,и дополнения можно писать к ним тоже на этом языке,но чтобы их писать нужно знать каким програмным кодом они были написанны или алгоритм этих программ (поправьте меня если я в чём то ошибаюсь)

Вопрос состоит в том что,как мне открыть и узнать как писались эти программы,какие файлы нужно открывать???

В дополнении хочу спросить что слышал я о программах Декомпиляторах,не их ли используют чтобы посмотреть dll файлы в которых этот код и написан?
Извини йа сам такой не умный)

Добавлено через 5 минут
Цитата Сообщение от kdmfilm Посмотреть сообщение
Вы извените но я пока несовсем понимаю что вы мне написали я веть недавно начал месяц где то,что можно за месяц изучить!
Если можно напишите попроще)?
нужно скопировать текст из файла с абзацами в массив. сталкивались?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.11.2009, 19:52     Подскажите пожалуйста #9
Chelius, так у меня ж в програмке весь текстовый файл в переменную content считывается. Хотите - как с символьным массивом, с ним работайте, хотите - как с текстовой переменной... Что именно не так-то?
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
25.11.2009, 21:55     Подскажите пожалуйста #10
Цитата Сообщение от easybudda Посмотреть сообщение
производителя в разделе "для разработчиков"...
Да вы знаете я был бы и рад посмотреть этот раздел но врядли он существует,производит эти программы фирма Autodesk у которая первая програ и была 3ds max с помощью неё они выкупели бесценную программу Maya и Softimage XSI в которых делали визуальные и специальные эффекты к фильмам и делают до сих пор,ну это кратко о прогах но вот только код они врядли будут свой показывать потому как у этой фирмы уже есть поставщик плагинов Cebak они производят их для Max,в другом случае если только код программы регестрируют и потентуют чтобы его никто несмог спереть,веть я думаю опытный программист знает что ума на э то особого ненадо готовый код и немного подделать её чтобы отличалась видом и некоторыми функциями!
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
25.11.2009, 23:44     Подскажите пожалуйста #11
Цитата Сообщение от kdmfilm Посмотреть сообщение
Да вы знаете я был бы и рад посмотреть этот раздел но врядли он существует,производит эти программы фирма Autodesk
Ну так смотрите. На всякий случай: там по-английски. Перевести не нужно?
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
25.11.2009, 23:57     Подскажите пожалуйста #12
Спасибо за информацию)!!!
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.11.2009, 00:13     Подскажите пожалуйста #13
Меня вот больше ситуация с fread интересует... Только-что тот же свой код в debian linux проверил - и тоже всё правильно. Сколько байт в файле было, столько fread и вернула... Почему в винде-то меньше показывает?
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
26.11.2009, 10:24     Подскажите пожалуйста #14
А теперь я бы хотел задать бывалым программистам возможно некультурный вопрос для них,обязательно нужно знать "математику" я имею виду Линейная алгебра,Дискретная математика,Математический онализ,что касаеться школьной математике,это само собой нужно знать,а вот на счёт высшей я несовсем понял,конечно я с ней знаком и знаю что в программировании используються много чего из высшей математике например знаменитые булевы вычисления или массивы.Вопрос заключается в том что высшая математика нужна чтобы лучше понимать программирование,или можно пораскинуть мозгами и понять например С++ так,логически рассудительно???
Ну а если честно признаться то мне нужен не только С++ яго язык конкретно но ещё знать надо полюбому,программирование в Microsoft Visual С++(так как на нём создаваласись 3ds max,Maya), С++ Open GL и С++ Direct X для создание 3d или 2d отображения,анимация и т.д и т.п
Что вы мне можите сказать по этому поводу надо ли знать всю высш.мат,хотя откровенно говоря мне нехотелось бы её дотошно изучать?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.11.2009, 12:37     Подскажите пожалуйста #15
Цитата Сообщение от easybudda Посмотреть сообщение
Меня вот больше ситуация с fread интересует... Только-что тот же свой код в debian linux проверил - и тоже всё правильно. Сколько байт в файле было, столько fread и вернула... Почему в винде-то меньше показывает?
"Я думал-думал, я всё понял!"(с)
Это заморочка с CR/LF в текстовых файлах. Файл вот так
C
1
if ( (fp = fopen(fname, "rb")) == NULL ){
открывать надо, и всё правильно будет.
Вот с одной стороны - моя, конечно, ошибка, глупо спорить... А с другой - грёбаный виндовс!
timuragmk
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 6
26.11.2009, 13:02     Подскажите пожалуйста #16
Цитата Сообщение от easybudda Посмотреть сообщение
Это заморочка с CR/LF в текстовых файлах.
2 easybudda: cовершенно верно.
вот, что пишут в MSDN:
"If the given stream is opened in text mode, carriage return–linefeed pairs are replaced with single linefeed characters."
Т.е. CR/LF воспиринимается как 1 байт.
kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
26.11.2009, 16:01     Подскажите пожалуйста #17
Ну ктонить можит обьяснить на мой предыдущий вопрос,легко и просто,в какой степени нужна математика для программирования Microsoft Visual С++,С++ Open GL и С++ Direct X?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.11.2009, 16:23     Подскажите пожалуйста #18
Цитата Сообщение от kdmfilm Посмотреть сообщение
Ну ктонить можит обьяснить на мой предыдущий вопрос,легко и просто,в какой степени нужна математика для программирования Microsoft Visual С++,С++ Open GL и С++ Direct X?

Не по теме:

"Зачем же я, братцы, стереометрию-то учил?!"(с) А.П. Чехов

kdmfilm
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 12
26.11.2009, 17:01     Подскажите пожалуйста #19
Ну вообщето если без издевательств на мой вопрос,я несказал что вообще математику ненадо учить,я сказал что впределах школьной программы это минимум знаний для программирования,а стереометрия это таже геометрия только по обширней.Я вас прошу пожалуйста ответить на мой вопрос серьёзно и вы были когда то начинающими!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2009, 17:19     Подскажите пожалуйста
Еще ссылки по теме:

C++ Подскажите пожалуйста
подскажите пожалуйста C++
Подскажите пожалуйста C++
Подскажите пожалуйста C++
C++ Подскажите пожалуйста

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.11.2009, 17:19     Подскажите пожалуйста #20
kdmfilm, а серьёзно - для того, чтобы собственно язык программирования выучить, школьной программы математики за глаза хватит. А чтобы потом на этом языке какие-то сложные геометрические фигуры описывать, без хорошего знания геометрии наверное туго прийдётся...
Yandex
Объявления
26.11.2009, 17:19     Подскажите пожалуйста
Ответ Создать тему
Опции темы

Текущее время: 22:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru