The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как имя файла получить _строкой_?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как имя файла получить _строкой_?" 
Сообщение от victorddt emailИскать по авторуВ закладки(ok) on 09-Фев-05, 15:18  (MSK)
FILE *in, *out;
DIR *dir;
struct dirent **de;
unsigned char buffer[BSIZE], prev, a;
size_t act_read, r;
long pos=0, now_pos;
int really_read, i, c;

struct dirent **namelist;
struct passwd  *userinfo;
DIR *newdir;
char *path;
struct stat fileinfo;
int n, k = 0;

n = scandir("./", &namelist, 0, alphasort);

if(n < 0)
{
perror("scandir");
}
else
{
while(k < n)
{
  if(strstr(namelist[k]->d_name, ".JPG") != NULL)
  {
   a = (char*)namelist[k]->d_name;
   printf("%s\n", a);
  }
  k++;
}
}

Ищу в папке файлы JPG и пишу их имена.
В строке:
a = (char*)namelist[k]->d_name;

не получается преобразовать namelist[k]->d_name в строку.

Как это можно сделать?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как имя файла получить _строкой_?" 
Сообщение от dimus Искать по авторуВ закладки(??) on 10-Фев-05, 12:16  (MSK)
Вообще-то это уже строка. И преобразование тут похоже просто лишнее. Однако Вы прописали переменную с очень крутым названием "а" как unsigned int, а потом ЯВНО пытаетесь присвоить значению unsigned int УКАЗАТЕЛЬ на строку. Я думаю, что если написать в начале
     char* a = NULL;
и убрать ненужное приведение типов, то все будет пучком.

Вообще примите хороший совет: забудьте, что на одной строке можно декларировать много переменных. И давайте им нормальные имена.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как имя файла получить _строкой_?" 
Сообщение от victorddt emailИскать по авторуВ закладки(ok) on 10-Фев-05, 13:03  (MSK)
>Вообще-то это уже строка. И преобразование тут похоже просто лишнее. Однако Вы
>прописали переменную с очень крутым названием "а" как unsigned int, а
>потом ЯВНО пытаетесь присвоить значению unsigned int УКАЗАТЕЛЬ на строку. Я
>думаю, что если написать в начале
>     char* a = NULL;
>и убрать ненужное приведение типов, то все будет пучком.
>
>Вообще примите хороший совет: забудьте, что на одной строке можно декларировать много
>переменных. И давайте им нормальные имена.


Спасибо, работает.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру