Advertisement
AZJIO

Рандомный IP

May 5th, 2013
801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4.  
  5. int _cat(char *str, int num); // объявляем прототип функции
  6.  
  7. /* Засевает rand() при помощи системного времени
  8.    и отображает 10 чисел.
  9. */
  10. int main(void)
  11. {
  12.   int i, stime;
  13.   long ltime;
  14.  
  15.   /* получает текущее календарное время */
  16.   ltime = time(NULL);
  17.   stime = (unsigned) ltime/2;
  18.   srand(ltime);
  19.  
  20.   //int aIP[4];
  21.   char *str[16 + 20] = {'\0'}; // массив на 16+20 символов
  22.  
  23.   //for(i=0; i<4; i++)
  24.     //aIP[i] = rand()%100; // остаток от деления на 100, не может быть больше 100
  25.  
  26.     _cat(*str, rand()%100); //вызов функции с отправкой указателя на строковый массив  и рандомное число
  27.     //puts(*str);
  28.     printf("%s", str);
  29.     //printf("%d.%d.%d.%d", aIP[0], aIP[1], aIP[2], aIP[3]);
  30.  
  31.   return 0;
  32. }
  33.  
  34. int _cat(char *str, int num) // указатель на строку и исходное число
  35. {
  36.    int radix = 10;  //система счисления
  37.    char buffer[3]; //результат, буфер на 3 символа
  38.    char *p;  //указатель на результат
  39.    p = itoa(num,buffer,radix); // преобразует число в строку, возвращая указатель
  40.    //int len = (int) strlen(buffer); // возвращает длину строки
  41.    //printf("%d\n", len); // проверяем что валидное значение
  42.    //char *z = buffer;
  43.    p = strncat(str, p, 3); // присоединяет строку p к str
  44.    printf("y=%d\n", p);
  45.    return 0;
  46.     //puts(buffer);
  47.     //printf("%s", *buffer);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement