Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 21.09.2008, 12:06   #1
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
Восклицание ?Linux.загрузка индексированных файлов

уже на этом форуме подобная тема поднималась, но осталась незамеченой
я cтолкнулся с проблемой, когда надо грузить кучу проиндексированых файлов вида:
1.jpg,2.jpg ... 99.jpg

Примерный код:

char *s="data\";

for(i=1;i<99;i++)
{
strcmp(s,(const char*)i);
strcmp(s,".jpg");
texture[i] = ImageLoad(s);
}

прога компилится но при загрузке ругается: Segmentation fault и вылетает

попытался посмотреть четакое я передаю на загрузку, написал вот такой каод:
#include <iostream.h>
#include <math.h>

#include <stdio.h>
#include <stdlib.h>

int i;

int main ()
{
char *s="data/";

for(i=0;i<4;i++)
{
strcmp(s,(const char*)i);
strcmp(s,".jpg");
cout << s << "\n";
}
}

Результат :
data/
data/
data/
data/

Переехал на СИ с пскаля там все просто было : 'data/'+inttostr(i)+'.jpg'

Как зделать так чтобы это все заработало?
М.б. можно обойтись без strcmp и зделать в одн строчку, как в паскале?

ЗЫ: Прогу пишу в Линухе, пользую SDL.
(Offline)
 
Ответить с цитированием
Старый 21.09.2008, 12:14   #2
jimon
 
Сообщений: n/a
Ответ: ?Linux.загрузка индексированных файлов

используй sprintf
вроде так использовать надо : (посмотри справку так же)
char buffer[200];

for(int i=0;i<4;i++)
{
sprintf(buffer,"data/%i.jpg",i);
cout << &buffer << "\n";
}
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (21.09.2008)
Старый 21.09.2008, 12:29   #3
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
Re: ?Linux.загрузка индексированных файлов

Не совсем то получается, вывод cout получается зашиврован:
#include <iostream.h>

int i;
char buffer[200];

int main ()
{

for(int i=0;i<4;i++)
{
sprintf(buffer,"data/%i.jpg",i);
cout << &buffer << "\n";
}

}

neon@neon-comp /media/linux-storage-Ex/Work_lin/dev/intotostr/1 $ ./int
0x8049ce0
0x8049ce0
0x8049ce0
0x8049ce0
(Offline)
 
Ответить с цитированием
Старый 21.09.2008, 12:30   #4
jimon
 
Сообщений: n/a
Ответ: ?Linux.загрузка индексированных файлов

попробуй тогда cout << buffer << "\n";
и int i; не надо обьявлять тут
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
aureli0 (21.09.2008)
Старый 21.09.2008, 12:52   #5
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
Re: ?Linux.загрузка индексированных файлов

О, спасибо. Работает!)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод картинок SDL+OpenGL. прозрачный фон aureli0 C++ 4 03.01.2009 19:31
Во сколько оценивается создание интерне& Nunan Болтовня 3 28.10.2008 14:33
Работа нескольких программ в одной anton_obuhov Основной форум 4 10.09.2008 11:15
редактор физики(PhysXeditor) и загрузчик под него(PhysXeditorInc Dstorton111 3D-программирование 4 19.08.2008 23:21
куплю исходник военной стратегии на blitz3d эд Blitz3D 15 18.02.2008 15:50


Часовой пояс GMT +4, время: 13:47.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com