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

Распарсить файл 3Dmax - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура - Окно c++ http://www.cyberforum.ru/cpp-beginners/thread1129213.html
Структура - Окно. Структура должна включать соответствующие поля: размер окна, его положение на экране, цвет, текст в окне. Простейшие функции: отображение окна, удаление окна, изменение цветов, смена текста в окне.
C++ Switch - case Доброго времени суток. Сделал меню по такой схеме: switch(a) { case 1: { case 1: case 2: switch(aa) { case 1: http://www.cyberforum.ru/cpp-beginners/thread1129208.html
Программа проверяет, содержится ли какой-либо предлог из массива в данной строчке C++
Дан массив с предлогами : in, and, is, a, an, or и дана пустая строчка char str, Пользователь вводит предложение, к примеру: Hello, my name is Anton. - оно записывается в строчку str Программа проверяет, содержится ли какой-либо предлог из массива в данной строчке и если да, то он удаляется из строчки. Как такое реализовать?
Какое число будет через n дней C++
Есть дата 01.01.2008. Вопрос какой день будет через n (0<= n <=1000) дней (c учётом високосных годов)? Пример: n=1 cout << 02.01.2008 n=0 cout << 01.01.2008 n=5 cout << 06.01.2008
C++ Алгоритм шифрования полей БД http://www.cyberforum.ru/cpp-beginners/thread1129186.html
Написать алгоритм шифрования ряда полей БД,осуществляемые при вводе и редактировании. Продумать алгоритм дешифрования
C++ Имеется информационный поток и написать алгоритм его шифрования при передаче данных по компьютерным сетям, чтобы поток не увеличивался в объеме Имеется информационный поток и написать алгоритм его шифрования при передаче данных по компьютерным сетям, так чтобы данный поток не увеличивался в объеме.. подробнее

Показать сообщение отдельно
x5reunion
3 / 3 / 1
Регистрация: 25.03.2014
Сообщений: 45
26.03.2014, 04:52  [ТС]     Распарсить файл 3Dmax
Добавил функцию и немного дописал код.

функция.

Если в функции раскомментировать printf все выводится коректно. В зависимости от того что закоментил, а что нет.

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
double get_params(const char *str)
{
 
    char T_WORDS[1000];
 
    strcpy(T_WORDS, str);
 
    size_t i;
 
    double f;
 
    if(*T_WORDS !='\0')
 
    {
        if (  !strtok(T_WORDS,"v") | !strtok(T_WORDS,"vn"))
        {
            //printf("%s\n\n",T_WORDS);
        }
        else if(!strtok(T_WORDS,"#") | !strtok(T_WORDS,"vertices") | !strtok(T_WORDS,"vertex")  | !strtok(T_WORDS,"normals"))
        {
            //printf("%s\n\n",T_WORDS);
        }
            else
            {
 
            f = atof(T_WORDS);
 
            //printf("%.4lf\n\n",f);
 
            return f;
 
            }
    }   
}
Тело main

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
44
int main(void)
{
    char S_LINE[1000];
 
    char LINE[1000];
 
    char T_WORDS[1000];
 
    double f;
 
    ifstream in_file("D:\\Hedra\\Obj\\Box1.txt",ios::in);
 
    while (!in_file.eof())
    {
 
    in_file.getline(LINE,1000);
    
    strcpy(S_LINE,LINE);
 
    const char *delims = " ";
 
    split_string(S_LINE, delims);
 
    char **words = split_string(S_LINE, delims);
 
    size_t i;
 
    for (i = 0; words[i] != NULL; ++i)
    {
 
    f = get_params(words[i]);
 
    printf("%.4lf\n",f);
 
    }
 
    destroy_words(words);
 
    }
 
    system("pause");
 
    return 0;
}

Но если в теле main в цикле

C++
1
2
3
4
5
6
7
8
for (i = 0; words[i] != NULL; ++i)
    {
 
    f = get_params(words[i]);
 
    printf("%.4lf\n",f);
 
    }
возвращать значение функции и выводить его на экран лезет лишняя инфа.

[Ресурс в черном списке]

Я так понял пробелы функция f = atof(T_WORDS); начинает преобразовывать в double, но между значениями тоже есть пробелы почему только между словами и значениями? Или я в этом не прав. В чем причина.

C++
1
2
v  -0.5000 0.0000 0.5000
v  -0.5000 0.0000 -0.0000
P.S Вопрос по поводу книги актуален.

Добавлено через 7 минут
Не понял как вывести картинку запишу так

C++
1
2
3
4
5
6
7
-1.#IND
-1.#IND
-0.5000
 0.0000
 0.5000
-1.#IND
-1.#IND
И далее все повторяется 3 значения 2 этих слова -1.#IND
-1.#IND.

Я так понял пробелы функция f = atof(T_WORDS); начинает преобразовывать в double и выводится что то не ясное, но между значениями тоже есть пробелы почему только между словами и значениями? Или я в этом не прав. В чем причина.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru