forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   ?Linux.загрузка индексированных файлов (http://forum.boolean.name/showthread.php?t=6391)

aureli0 21.09.2008 12:06

?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.

jimon 21.09.2008 12:14

Ответ: ?Linux.загрузка индексированных файлов
 
используй sprintf
вроде так использовать надо : (посмотри справку так же)
Код:

char buffer[200];

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


aureli0 21.09.2008 12:29

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

jimon 21.09.2008 12:30

Ответ: ?Linux.загрузка индексированных файлов
 
попробуй тогда cout << buffer << "\n"; :)
и int i; не надо обьявлять тут

aureli0 21.09.2008 12:52

Re: ?Linux.загрузка индексированных файлов
 
О, спасибо. Работает!)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot