Advertisement
Guest User

s_gets - s_gets_c bmstu

a guest
Nov 15th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1.  
  2.  
  3. #include "pch.h"
  4. #include <iostream>
  5.  
  6. char* s_gets(char* str, int size);
  7. char* s_gets_c(char* str, int size);
  8.  
  9.  
  10.  
  11. int main()
  12. {
  13.  
  14.     const int size = 50;
  15.     char str[size];
  16.     s_gets(str, size);
  17.     s_gets_c(str, size);
  18.     printf("%s\n", str);
  19.     return 0;
  20. }
  21.  
  22.  
  23. char* s_gets(char* str, int size)
  24. {
  25.     if (fgets(str, size, stdin) == NULL)
  26.     {
  27.         return NULL;
  28.  
  29.     }
  30.     int i = 0;
  31.     int flag = 1;
  32.     while (str[i] != '\0')  // hello world\n1234\0
  33.     {
  34.         if (str[i] == '\n')
  35.         {
  36.             flag = 0;
  37.             break;
  38.         }
  39.     i++;
  40.    
  41.     }
  42.     str[i] = '0';
  43.     if (flag)
  44.     {
  45.         while (getchar() != '\n');
  46.     }
  47.     return str;
  48. }
  49.  
  50.  
  51. char* s_gets_c(char* str, int size)
  52. {
  53.     int  i = 0;
  54.     char ch = '\0';
  55.     while (( ch = getchar()) != '\n')
  56.     {
  57.         if (i < size)
  58.         {
  59.  
  60.             str[i] = ch;
  61.         }
  62.             i++;
  63.  
  64.     }
  65.     str[i] = '\0';
  66.         return str;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement