?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. |
Ответ: ?Linux.загрузка индексированных файлов
используй sprintf
вроде так использовать надо : (посмотри справку так же) Код:
char buffer[200]; |
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 |
Ответ: ?Linux.загрузка индексированных файлов
попробуй тогда cout << buffer << "\n"; :)
и int i; не надо обьявлять тут |
Re: ?Linux.загрузка индексированных файлов
О, спасибо. Работает!)
|
Часовой пояс GMT +4, время: 10:00. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot