ft_isascii

A função isascii() verifica se ‘c’ é um caractere 7-bit US-ASCII.

Declaração

int isascii(int c);

Parâmetros

  • c – Caractere a ser verificado.

Retorno

A função retorna um valor não nulo (verdadeiro) se ‘c’ for um caractere ASCII entre 0 e o octal 0177 (incluso), caso contrário retorna 0.

Exemplo

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

char the_chars[] = { 'A', 0x80, 'Z' };

#define SIZE sizeof( the_chars ) / sizeof( char )

int main( void )
{
    int i;

    for( i = 0; i < SIZE; i++ ) {
        if( isascii( the_chars[i] ) ) {
            printf( "Char %c é um caractere ASCII\n",
                the_chars[i] );
        } else {
            printf( "Char %c não é um caractere ASCII\n",
                the_chars[i] );
        }
    }
    
    return EXIT_SUCCESS;
}

Saída:

Char A é um caractere ASCII
Char   não é um caractere ASCII
Char Z é um caractere ASCII

Codificando a função

Para o caractere não ser ASCII ele deve ser menor que 00 ou maior que 0177, ou seja, é só fazer a verificação.

int	ft_isascii(int c)
{
	if (c < 00 || c > 0177) //verificando se não é ASCII
		return (0);
	return (1);
}

Referências

http://man7.org/linux/man-pages/man3/isascii.3p.html

http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fi%2Fisascii.html

Deixe um comentário