пятница, 9 декабря 2016 г.

About the function atoi(), strol()


// Convert the command line argument to a number
// Int argc -> from the argument count - the number of arguments
// Argv -> argument value - value arguments
// Atoi () from alphanumeric to integer - the transformation of alphanumeric values in an integer
// Strtol () is similar to atoi () works with numeral systems, the base having up to 36, in primenyayuschayaya
// Numbers as all the letters of the Latin alphabet to 'z'

Example 1
#include <stdio.h>
#include <string.h> //содержит прототипы строковых функций
int main()
{
    char login[100];
    printf("Enter Login:");
    scanf("%s", login);
    printf("Password: ");
    int i = atoi(login);
    for (i = 0; login[i] != '\0'; i++) //формирует пароль на основе логина
{
        printf("%d", login[i]);
    }
    printf("\n");
    return 0;
}
ВЫВОД НА ЭКРАН
Enter Login:cat
Password: 9997116 //десятичное число

Enter Login:businka
Password: 9811711510511010797 //десятичное число

Example 2
#include <stdio.h>
#include <string.h>
int main() 
{
    char login[100];
    printf("Enter Login:");
    scanf("%s", login);
    printf("Password: ");
    int i = strtol(login);
    for (i = 0; login[i] != '\0'; i++) //формирует пароль на основе логина 
{
        printf("%p", login[i]); //%p спецификатор вывода указателя адреса 
    }
    printf("\n");
    return 0;
}
ВЫВОД НА ЭКРАН
Enter Login:cat
Password: 0x630x610x74 //указатель на адрес 

Example 3
#include <stdio.h>
#include <string.h>
{
    char login[100];
    printf("Enter Login:");
    scanf("%s", login);
    printf("Password: ");
    int i = atoi(login);
    for (i = 0; login[i] != '\0'; i++) //формирует пароль на основе логина 
{
        printf("%x", login[i]); //%x спецификатор вывода шестнадцатиричное число 
    }
    printf("\n");
    return 0;
}

ВЫВОД НА ЭКРАН
Enter Login:cat
Password: 636174 //шестандцатиричное число 

Enter Login:Alisa
Password: 416c697361

Enter Login:Businka
Password: 427573696e6b61

Example 3
#include <stdio.h>
#include <string.h>
int main() 
{
    char login[100];
    printf("Enter Login:");
    scanf("%s", login);
    printf("Password: ");
    int i = atoi(login); //strtol() аналогично atoi() работает с системами счисления, имеющими основания вплоть до 36,
    for (i = 0; login[i] != '\0'; i++) //формирует пароль на основе логина 
{
        printf("%o", login[i]); //%о спецификатор вывода восьмиричное число 
    }
    printf("\n");
    return 0;
}

ВЫВОД НА ЭКРАН
Enter Login:Alisa
Password: 101154151163141 //восьмиричное число

/*Данный код на основани логина формирует пароль - кряк. Пароль - это переведенный символ в число*/
#include <string.h>
#include <stdlib.h>

int main(void)
{
    char log[64];
    char pass[64];
    int i;
    int result;
printf("EnterLogin \n");
scanf("%s", log);

printf("EnterPassword \n");
scanf("%d", &pass);

int v3 = atoi(log); //atoi() от alphanumeric to integer - преобразование алфавитно-цифрового значения в целое число 
int v4 = atoi(pass);

if ( v3 == v4 )
{
for (i=0; log[i] !='\0'; i++) //пароль смещенные символы логина
{
if (log[i] != pass[i])
{
printf("%d IncorrectPas_0", v3); //%d спецификатор вывода целых десятичных чисел 
return 1;
}
}
    printf("%d PasswordIsCorr", v3);
result = 0;
}
else 
{
printf("%d IncorrectPassw", v3);
result = 1;
}
getchar();
getchar();
  return result;
}
ВЫВОД НА ЭКРАН
EnterLogin 
Alisa
EnterPassword 
6510810511597
PasswordIsCorr

EnterLogin 
c
EnterPassword 
118
IncorrectPas_0

EnterLogin 
v
EnterPassword 
118
PasswordIsCorr

Example 4
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char num1[80], num2[80];
printf("Enter first number: ");
gets(num1);
printf("Enter second number: ");
gets(num2);
printf("The sum is: %d", atoi(num1)+atoi(num2));
return 0;
}
ВЫВОД НА ЭКРАН
Enter first number: 12
Enter second number: 12
The sum is: 24

Enter first number: 9
Enter second number: 3
The sum is: 12

Комментариев нет:

Отправить комментарий