с++ имя файла
Модератор: Модераторы разделов
-
- Сообщения: 14
- ОС: sidux
с++ имя файла
Здравствуйте..проблема такая, программа на С++, пользователь вводит с консоли имя файла который нужно обработать, допустим name.res, нужно отбросить расширение и добавть свои символы и расширение в имени т е так name01.txt, name02.txt......и закинуть это в отдельный каталог..( тоже создается). сам пытался, ни чего хорошего не вышло, через функции работы со строками strcpy и прочее..буду рад увидеть ваши советы.спасиб.в дальнейшем программку хочется сделать кроссплатформенной.
-
- Сообщения: 1095
- Статус: -
- ОС: GNU/Linux
Re: с++ имя файла
скрипт не устроит?в дальнейшем программку хочется сделать кроссплатформенной.
-
- Сообщения: 1685
- ОС: SuSe 10.2
Re: с++ имя файла
(Правила_раздела) писал(а):Темы от студентов с запросами готовых решений по заданиям зарываются не глядя.
_________________________________________________
я так понимаю курсовая? "скогаденек"(a)?
_________________________________________________
может быть вы код приведете который у вас "не получается"? )))
-
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: с++ имя файла
на Qt без лишней головной боли можно все сделать + куча документации + кросплатформенность "из коробки"
-
- Сообщения: 14
- ОС: sidux
Re: с++ имя файла
нет это- не курсовая..на уровне хобби в помощь родной лаборатории . программа простая как валенок сама.. берет файл-изображение считывает и записывает в виде двухмерной матрицы в текством формате, соотвественно 3 цвета--3 выходных файла..так все работает, только у меня или фиксированные имена выходных файлов или надо вбивать руками имена 3-х файлов. что не удобно не то и не другое. интересует имеено момент , чтобы выдал имеено так...возможно придется обрабатывать сразу кучу файлов.
.почему кроссплатформенность и консольность -тут все просто....профессор лаборатории мужик консервативный - у него стоит древний комп с W98..
.почему кроссплатформенность и консольность -тут все просто....профессор лаборатории мужик консервативный - у него стоит древний комп с W98..
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: с++ имя файла
i Уведомление от модератора
Ждём от топикстартера попыток решения (пусть неработающих, но чтобы было видно что человек сам пытается решить свою проблему, а не переложить её на форум).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 14
- ОС: sidux
Re: с++ имя файла
Код: Выделить всё
[/code]
#include "libraw/libraw.h"
#include <iostream>
#include <fstream>
using namespace std;
int main( int arc, char *argv[])
{
int i,j;
int ret;
LibRaw iProcessor;
if( (ret = iProcessor.open_file (argv[1])) != LIBRAW_SUCCESS )
// open file!
{
cout<< stderr;
cout<< "\n";
cout<< "Cannot open file \t";
cout<< libraw_strerror(ret);
cout<< "\n";
return 1;
}
if ((ret = iProcessor.unpack()) != LIBRAW_SUCCESS)
{
cout<< "Cannot unpack";
return 1;
}
ofstream fout_R ("out_R.txt");
ofstream fout_G ("out_G.txt");
ofstream fout_B ("out_B.txt");
cout<<"unpack file.....\n";
if(!fout_R)
{
cout<<"ERROR FILE OUT";
return 1;
}
cout << "Image size \n";
cout<< " \n WIDTH \n";
cout << iProcessor.imgdata.sizes.width;
cout<< " \n HEIGHT \n";
cout<< iProcessor.imgdata.sizes.height;
cout<<"save file....\n";
for ( i=0; i < iProcessor.imgdata.sizes.iwidth; i++ )
{
for ( j=0; j < iProcessor.imgdata.sizes.iheight; j++ )
{
fout_R << iProcessor.imgdata.image[i][0];
fout_G << iProcessor.imgdata.image[i][1];
fout_B << iProcessor.imgdata.image[i][2];
}
fout_R << "\n";
fout_G << "\n";
fout_B << "\n";
}
fout_R.close();
fout_G.close();
fout_B.close();
iProcessor.recycle();
cout<<"FINISH \n";
return 0;
}
[code]
это работающий код с фиксированными выходными именами файлов.
-
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: с++ имя файла
Код: Выделить всё
#include <cstring>
#include <iostream>
char old_format[]=".txt";
char new_format[]=".MHC";
int main(int argc, char** argv)
{
char str[1024];
strcpy(str,argv[1]);
char* find=strstr(str, old_format);
if(find)
{
*find=0; //обрезание сроки
strcat(str,"00");
strcat(str,new_format);
}
std::cout<<str<<std::endl;
return 0;
}
Desipere in loco
-
- Сообщения: 14
- ОС: sidux
Re: с++ имя файла
Сrazy
спасибо огромное!!!!! разобрался..сейчас попробую
спасибо огромное!!!!! разобрался..сейчас попробую