0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
1

с++ strncpy

29.05.2010, 12:12. Показов 3147. Ответов 9
Метки нет (Все метки)

Скажите пожалуйста, я не могу разобраться с фунуциями strncpy() и с её подобными. везде одна ошибка.
Вот у меня тема следующая:
C
1
2
3
4
5
6
7
char cod[5];
char b[5];
char string[5];
/* далее я хочу выделить символы cod в массив следующим образом: */
   for(i=0;i<5;i++)
   b[i]=strncpy(string,cod[i],5);
   string[i]='\0';
выдает ошибку: Cannot convert 'char *' to 'char'
В чем проблема?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2010, 12:12
Ответы с готовыми решениями:

Strncpy
Одинаково неправильно работают следующие 2 кода: #include &lt;stdio.h&gt; #include &lt;string.h&gt; int...

Функция strncpy
Вопрос: Есть строка s, в этой строке есть элемент '\n' от которого мне нужно избиваться. Я хочу...

Strncpy
Напишите пожауйста на С аналог функции Strncpy

strncpy
Дана строка: djh,dfkh,sdj. Как последовательно по отдельности записать в strncpy текстовые части: ...

9
48 / 48 / 10
Регистрация: 12.01.2010
Сообщений: 183
29.05.2010, 12:33 2
ошибся
0
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
29.05.2010, 12:35  [ТС] 3
и как быть тогда, если это нужно сделать все таки?
0
3093 / 2413 / 256
Регистрация: 11.03.2009
Сообщений: 5,450
29.05.2010, 12:40 4
Цитата Сообщение от SanekSV Посмотреть сообщение
и как быть тогда, если это нужно сделать все таки?
Или превратить b в массив указателей, или убрать присвоение.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11178 / 7110 / 1680
Регистрация: 25.07.2009
Сообщений: 13,003
29.05.2010, 12:41 5
SanekSV, во-первых, если массив объявлен, как
C
1
char cod[5];
и нужно его использовать, как строку, то в нём может быть не больше четырёх символов. Пятый - '\0'.
Во-вторых, если нужно скопировать одну строку в другую, при этом зная, что размер строк одинаковый, почему бы просто не написать
C
1
strcpy(b, cod);
?
0
48 / 48 / 10
Регистрация: 12.01.2010
Сообщений: 183
29.05.2010, 12:48 6
C++
1
2
3
4
5
6
7
8
9
 char cod[225] = "0123456789\0";
char b[225];
char string[225];
 
 
strncpy(string,cod,5);
string[5] = '\0' ;
 
cout << cod << endl << string << endl;

а ошибка здесь: b[i]=strncpy(string,cod[i],5);

так как надо в качестве параметра передавать указатель на строку а не символ
0
1 / 1 / 0
Регистрация: 27.05.2010
Сообщений: 15
29.05.2010, 15:01 7
Посмотрите внимательнее
Цитата Сообщение от easybudda Посмотреть сообщение

strcpy(b, cod);
Вы используете strncpy .

Вики strcpy

Вики strncpy

Отличие в том, что во второй функции задаётся максимальная длина строки.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11178 / 7110 / 1680
Регистрация: 25.07.2009
Сообщений: 13,003
29.05.2010, 15:03 8
Grozaaa90, посмотрите внимательнее, как переменные объявлены, и вот эту фразу
Цитата Сообщение от easybudda Посмотреть сообщение
скопировать одну строку в другую, при этом зная, что размер строк одинаковый
ещё раз перечитайте.
0
1 / 1 / 0
Регистрация: 27.05.2010
Сообщений: 15
29.05.2010, 15:28 9
easybudda, Извините, думал, что лендер вас поправляет и сообщение было обращено к нему с использованием вашего кода.
Извиняюсь за невнимательность.
В любом случает топикстартеру будет полезно почитать про эти функции
0
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
29.05.2010, 22:00  [ТС] 10
на посмотрите, в моем коде есть цикл, и этот цикл связывается в функции cod[i], вот если бы без цикла было бы то все норм. но тут как бы вся загвоздка в том что есть цикл.

Добавлено через 5 минут
и в моем случае мне нужно ограничиться лишь пятью символами
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2010, 22:00
Помогаю со студенческими работами здесь

про strncpy ()
привет=))) вот чето с этой функцией не пойму пример есть #include &lt;iostream&gt; using namespacr...

Не работает strncpy в MV
Не работает strncpy в Micrisoft Visual Задача следущая: Нужно Преобразовать суму к прописному...

Поведение функции strncpy
Доброго времени суток, уважаемые форумчане. Была необходимость решить задачу такого содержания:...

Ошибка в функции (strncpy)
Надо прочитать файл содержащий что-то подобное: 1. Nomer reisa: 1 ves bagazha: 1.50...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru