Advertisement
Guest User

Untitled

a guest
May 20th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct {
  4. char name[40];
  5. int age;
  6. } person, person_copy;
  7.  
  8. char * strcpy1(char * dest, const char * src)
  9. {
  10. char * p = dest;
  11. while(*src != '\0') {
  12. *p = *src;
  13. ++src;
  14. ++p;
  15. }
  16. *p = '\0';
  17. return p;
  18. }
  19.  
  20. char * strcat1(char * dest, const char * src)
  21. {
  22. char * p = dest;
  23. while(*p != '\0')
  24. ++p;
  25. while(*src != '\0') {
  26. *p = *src;
  27. ++src;
  28. ++p;
  29. }
  30. *p = '\0';
  31. return p;
  32. }
  33.  
  34. size_t strlen1(const char * str)
  35. {
  36. size_t s = 0;
  37. while(*str!='\0') {
  38. ++s;
  39. ++str;
  40. }
  41. return s;
  42. }
  43.  
  44. int strcmp1(const char* str1, const char * str2)
  45. {
  46. while(*str1!='\0' && *str2!='\0') {
  47. if(*str1 > *str2)
  48. return 1;
  49. else if(*str1 < *str2)
  50. return -1;
  51. ++str1;
  52. ++str2;
  53. }
  54. return 0;
  55. }
  56.  
  57. void * memcpy1 (void * dest, const void * src, size_t num)
  58. {
  59. char * p_dest = (char*) dest;
  60. char * p_src = (char*) src;
  61. size_t i;
  62. for(i = 0;i < num; ++i, ++p_src, ++p_dest)
  63. {
  64. *p_dest = *p_src;
  65. }
  66. return dest;
  67. }
  68.  
  69.  
  70. int main()
  71. {
  72. char input[256] = "Test1";
  73. char input2[128] = "Test2";
  74. printf("%lu %lu\n", strlen1(input2), strlen(input2));
  75. puts(input);
  76. puts(input2);
  77. strcat1(input, input2);
  78. puts(input);
  79. puts(input2);
  80. char myname[] = "Andrzej Golota";
  81. memcpy1 ( person.name, myname, strlen1(myname)+1 );
  82. person.age = 50;
  83. memcpy1 ( &person_copy, &person, sizeof(person) );
  84. printf ("person_copy: %s, %d \n", person.name, person_copy.age );
  85. return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement