fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #pragma GCC optimize("O0")
  5.  
  6. // Нужно, чтобы GCC разместил буферы строго последовательно.
  7. typedef struct buffers {
  8. char first[8];
  9. char second[32];
  10. } buffers;
  11.  
  12. int main(void) {
  13.  
  14. buffers foo = { .second = ": strncpy is broken!" };
  15.  
  16. strncpy(foo.first, "remember", sizeof(foo.first));
  17. puts(foo.first);
  18. return 0;
  19. }
  20.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
remember: strncpy is broken!