LINUX.ORG.RU

iconv: проблемы с переименованием.


0

0

#include <iconv.h>
#include <stdio.h>

int main( int argc, char *argv[] )
{
int i, j;
if( argc > 1 )
{
iconv_t cd;
cd = iconv_open( "KOI8-R", "WINDOWS-1251" );
char *in = (char *) malloc( 100 );
char *out = (char *) malloc( 100 );
char *frst = out;
for( i = 1; i < argc; i++ )
{
for( j = 0; j < strlen( argv[i] ); j++ )
{
if( argv[i][j] == '\ ' || argv[i][j] == ' ' )
{
argv[i][j] = '_';
}
}
in = strcpy( in, argv[i] );
size_t inlen = (size_t) 100;
size_t outlen = (size_t) 100;
iconv( cd, &in, &inlen, &out, &outlen );
char *s = (char *) malloc( 100 );
sprintf( s, "mv %s %s", argv[i], frst );
if( system( s ) )
{
printf( "%s - невозможно перекодировать.\n", argv[i] );
iconv_close( cd );
exit( -1 );
}
}
iconv_close( cd );
return 0;
}
return 0;
}


Скажите. Если имя файла/директории содержит пробелы то mv вылетает
с ошибкой.Нечто про stat. Что не так?


anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.