Re: Указатели и копирование в массив ? Начинающий.
От: Lexey Россия  
Дата: 12.03.02 09:32
Оценка: 4 (2)
Здравствуйте Mr-Twister, Вы писали:

MT>Сделал программку

MT>
MT>#include <stdio.h>
MT>#include <string.h>
MT>char *fi( char * fu, const char * fa, int ee);
MT>int main(void)
MT>{
MT> int number=6;
MT> char s1[20], * s2= "Pruvetiche", *s3;
MT> s3 = fi ( s1, s2 , number);
MT> puts(s3);
MT> return 0;
MT>}
MT>char *fi( char * fu, const char * fa, int ee)
MT>{
MT> strncpy( fu, fa, ee );
MT> return fu;
MT>}
MT>

MT>Но не пойму почему во время выполнения в конце вылетает значок @.

Потому, что strncpy не добавляет в конец строки \0, если копируемое число символов меньше длины копируемой строки.

MT>Хотелось бы чтоб копировалось только 6 указанных букв. Без этих залетных значков @.


char *fi( char * fu, const char * fa, int ee)
{
  strncpy( fu, fa, ee );
  *(fu+ee)=0;
  return fu;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.