Я пытаюсь понять функцию strcpy(), но не смог. Как указано на этой странице, если длина целевой строки меньше чем исходная строка, все значение исходной строки не будет скопировано в строку назначения, вместо этого оно будет усечено. Но когда я попытался запустить эту программу
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char my_full_name[]="TomCruse_MI";
char my_school_name[]="DON_BOSCO";
strcpy(my_school_name, my_full_name);
printf("After strcpy() function to copy my name into my school : \'%s\'\n" , my_school_name);
printf("\n");
return 0;
}
Я получаю как:
After strcpy() function to copy my name into my school : 'TomCruse_MI'
Мой вопрос в том, почему строка «TomCruse_MI» не усекается, даже если исходная строка больше, чем размер назначения.
my_school_nane
недостаточно большой ! - person Stargateur   schedule 16.05.2018Copyright 2018 © http://localhost/fresh2refresh
должен заставить вас кричать... - person JJJ   schedule 16.05.2018TomCruse_MI
должно бытьTomCruise_MI
(уже эффект усечения?) - person Jean-François Fabre   schedule 16.05.2018