|
|
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 02:10 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
AxeleronБольшое спасибо! Большое пожалуйста. А если серьезно, то не понятна суть вопроса (откуда и куда преобразовывать), так как char[260] есть суть 260 char'ов и никаких преобразований вроде бы не требуется: char CHAR[260]; char bukva; int index=0; ...... bukva=CHAR[index]; ... или я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 06:45 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Может нужна хэш-функция, которая по char[260] выдаёт одну букву? :) Или может надо char[260] перегнять в char* ? Тогда надо просто перед именем масива выставить (char*) Иначе, в рамках топика, такое преобразование без потерь данных невозможно. По кр. мере в виндах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 07:27 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Пытаюсь решить задачу, где надо пройтись и собрать в массиве все названия файлов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Компилятор ругается на место передачи названия файла в массив w[ i ] = ffblk.cFileName. Как ещё можно указать директорию где просматривать файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 12:09 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
я молод, горяч и могу ошибатья =))), но: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 12:47 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
2 13th_apostle: Да, ошибка выдаётся. Я как раз и ищу ответа на вопрос как можно заполнить массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 13:09 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
ты хочешь найти все директории, где лежат файлы *.lsp? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 13:33 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Для начала надо объявить не массив из 260-ти символов, а массив указателей на 260 строки (как я понял) char (*w)[]; //кажется так(точно не помню,как обявить массив указателей) Перед присвоением w[ i ] = ffblk.cFileName; не мешало бы выделить памяти w =(char*)malloc(strlen(ffblk.cFileName)*sizeof(char)); Ну а после нужно память освободить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 13:33 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
ИМХО 1) Если это С++, то зачем malloc а не new? 2) почему такая приверженность к char*? если заюзать std::string то можно избежать лишней возни с кучей 3) вместо массива можно заюзать std::vector, но только если нужен random-access доступ, если запись и чтение происходят последовательно от начала к концу - тогда можно и stringstream заюзать. вобчме надо юзать типы, которые в случае исключение нормально освобождают ресурсы при раскрутке стека. Иначе у тебя приложение "зарастет" лесом try catch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 14:19 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Задача у меня стоит такая, чтобы указать в коде директорию, где искать нужный тип файлов. Пишу на VS.NET Managed C++. Вариант подойдёт любой, так как главное для меня, чтобы работало, так как сам в С++ отнюдь не гуру и привередничать точно не буду по поводу оптимального решения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 15:39 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
13th_apostle, мне все названия файлов надо запихнуть в массив бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 15:41 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
char src[260]; char dst; // преобразование dst = src[ /*ну например*/ 25 ]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 16:05 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
Видешь ли, тебе CHAR w[ ]; не подойдет. Это массив символов, т.е. почти то же, что и CHAR*. А тебе нужен массив переменной размерности, содержащий строки. Кстати, строки имеют фиксированную длину, но можно для общности брать и строки переменной длины. В зависимости от того, какие библиотеки ты используешь, тебе и нужно выбирать, возможно это был бы std::vector<std::string> или CStringArray из MFC . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 16:16 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
управляемый С++ это совсем другой С++. Это просто полный атас - сплошные оговорки. Хотя по твоему коду не скажешь что у тебя управляемый С++. Хотя бы вызов FindFirstFile, я новичок в NET, но я не припомню неймспейса с такой функцией. Это чистаганом win32. Да и массивы в управляемом С++ надо объявлять с префиксом gc. И тип строковый там свой String Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. О компиляторе, он должен быть вызван с параметром /clr а в начале проекта стоять Код: plaintext 1. 2. все это есть в MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 17:06 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
MasterZivА тебе нужен массив переменной размерности, содержащий строки истину глаголит. =) ибо в 1мерный массив символов запихать названия нес-ких директорий при определенном желании можно. но не стоит. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 17:06 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
А я бы вообще такую фигню сделал: завёл бы лист-вью и добавлаял бы итемы LVITEM li; li.mask = LVIF_TEXT; .... li.pszText = ffblk.cFileName; li.iSubItem = 0; ListView_InsertItem(hListView,&li); ;) Это чтобы про аллокацию не думать... может я молод и горяч, но я так часто делал и перекладывал аллокацию памяти на спину Win32 (разные контролы, в зависимости от ситуации), заодно потом по убийству контрола, оно само память освобождает ;) Вот такой я хитрый гат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 08:39 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
делайте проще, заведите массив указателей на массивы из символов char **ppNames; и не надо выпендриваться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 10:48 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
недеюсь все помнят такую фишку: int main(int argc, char **argv ) {... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 10:50 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
gardenmanделайте проще, заведите массив указателей на массивы из символов char **ppNames; и не надо выпендриваться :) Завести -то можно, да только память выделять-перевыделять потом заколебешся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 18:47 |
|
||
|
Как преобразовать CHAR [260] в char
|
|||
|---|---|---|---|
|
#18+
а чем не устраивает MasterZivstd::vector<std::string> ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 19:37 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32842353&tid=2033908]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 184ms |
| total: | 275ms |

| 0 / 0 |
