Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VIPerZ
7 / 7 / 0
Регистрация: 26.02.2011
Сообщений: 69
#1

проблема с массивом типа CHAR - C++

07.05.2012, 17:36. Просмотров 491. Ответов 2
Метки нет (Все метки)

нужно выполнить функцию fopen() . которая кушает на вход указатель на массив char в качестве пути к файлу ну и режим работы с файлом.

так вот, создаю массив с размером таким же, как длина пути к файлу выбранного через диалог

C++
1
2
int size = openFileDialog1->FileName->Length;
char fname[size];
и тут мне пишет этот обормот , что нужно константное выражение для размера.

окей, тогда обьявляю массив так
C++
1
char *fname = new char[size];
он это компилирует , но после того, как я запихиваю в него побуквенно путь к файлу
C++
1
2
3
4
5
System::String ^tt = this->openFileDialog1->FileName;
for (int k = 0; k < this->openFileDialog1->FileName->Length; k++)
{
       fname[k] = tt[k];
}
получаю что-то совсем не то внутри массива fname... что-то далеко не 10(в данном случае) чаров и поэтому прога не может открыть нужный мне файл..

В чём загвоздка? как мне решить эту проблему? scanf правильно заполняет такие массив, но у меня Windows Forms..спасибо.

P.S. пишу в Visual Studio 2008 под 2.0 фреймворком
Миниатюры
проблема с массивом типа CHAR  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 17:36     проблема с массивом типа CHAR
Посмотрите здесь:

Проблема с классом и массивом char-ов - C++
Есть класс, содержащий одномерный массив из char-ов и методы для работы с ним. Проблема возникла в самом начале - не получается корректно...

Задание с массивом типа char - C++
Нужно удалить все столбцы в которых есть хотя бы одна буква 'а'.Ошибка в delA,но не знаю как исправить #include &lt;cstdlib&gt; #include...

проблема с переменной типа char - C++
int count(char a){ int c=0; int words=0; while(a!='\0'){ if(a==' ')++words; } return words; } очень примитивный вопрос... ...

Объяснить разницу между массивом типа char и строкой в стиле Си (нюансы использования нуль-терминатора) - C++
Господа, появился такой вопрос: какое место занимает \0 в массиве charов? В данном коде пытался выйти из цикла по достижении...

Аргумент типа char (*)[1000] несовместим с параметром типа char** - C++
Здравствуйте! Есть вот такая структура: #define max 1000 struct expr { char s; int index; };

Добавление в массив типа char * одного элемента типа char - C++
Дан класс Строка, содержащий указатель на char - адрес динамически выделенной для размещения символов строки памяти и длину строки. Нужен...

Аргумент типа "unsigned char*" несовместим с параметром типа "const char*" - C++
int f(unsigned char s, unsigned char q) { N = strlen(s); //Ошибка тут... M = strlen(q); //...и тут Как исправить?

Работа с массивом char - C++
Вот задание Вам дана непустая строка, состоящая из строчных латинских букв, цифр и пробелов. Длина строки не превышает 250 символов....

Работа с массивом char - C++
Добрый день. Объясните, если не сложно, на пальцах в чем ошибка? char*my1={&quot;first my1&quot;,&quot;second my1&quot;}; my1='E'; Синтаксически все...

Работа с массивом символов Char - C++
Народ помогите! 2. Дано целое число N и текстовый файл. Создать строковый файл, содержащий все слова длины N из исходного файла (знаки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
07.05.2012, 18:28     проблема с массивом типа CHAR #2
Массив, который содержит строку длиной n должен содержать
как минимум n+1 значение, чтобы в n-ый элемент записать ноль
(признак конца строки).
C++
1
2
3
4
5
6
7
8
int n=this->openFileDialog1->FileName->Length;
fname=new char[n+1];
for (int k = 0; k < n; k++)
{
       fname[k] = tt[k];
}
fname[k] = 0;
// а лучше сделать: strcpy(fname,tt);
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
07.05.2012, 18:36     проблема с массивом типа CHAR #3
Цитата Сообщение от VIPerZ Посмотреть сообщение
чём загвоздка? как мне решить эту проблему? scanf правильно заполняет такие массив, но у меня Windows Forms..спасибо.
scanf работает правильно считывает строку до втречи пробела или нулевого символа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru