LINUX.ORG.RU

Будет писать, пока '\0' не встретит.

/* Примерчик */
#include <stdio.h>

char s[9]="Hello\0 !";

int main()
{
  printf("%s\n",s);
  printf("%.5s\n",s);
  printf("%.*s\n",5,s);
  fwrite(s,sizeof(s),1,stdout); printf("\n");
  return 0;
}
===========================
man printf
man fwrite

kosmonavt
()
Ответ на: комментарий от kosmonavt

> Будет писать, пока '\0' не встретит.

Причём, если не встретит в s[100], будет писать дальше. printf получает адрес первого символа и печатает всё до первого нулевого байта. О том как описаны массивы она ничего не знает.

Это касается всех сишных функций для работы со строками.

DKorolkov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.