Escreva uma única instrução que possibilite a execução das tarefas a seguir. Suponha que as variáveis c (que armazena um caractere), x, y e z sejam do tipo int, as variáveis d, e e f sejam do tipo double, a variável ptr seja do tipo char * e os arrays s1[100] e s2[100] sejam do tipo char.

Passo 1

E aí meus queridos!! Tudo bem com vocês??

Hoje vamos falar sobre algumas funções que podem fazer muita diferença na hora de programar! Bora lá??

s) Vamos falar sobre a função sprintf. Essa função trabalha da seguinte maneira: ela envia valores apontados dentro da função para uma string.

Veja sua sintaxe: sprintf(string, “tipo dos valores a serem apontados”, valores).

Então para resolvermos nossa questão precisaríamos:

sprintf( s1, “%7d%7d%7d”, x, y, z );

Assim a string s1 passa a ter todos os valores de x, y e z.

Passo 2

t) a função strncat acrescenta o valor de uma string no final de outra.

Veja um exemplo: strncat(string destino, string enviada, quantidade de caracteres).

String destino – string que vai receber a outra string no final.

String enviada – a que será enviada para a string destino.

Quantidade de caracteres – a quantidade que será copiada. .

Então nossa questão ficaria assim:

strncat( s1, s2, 10 );

Passo 3

u) Mas e se quisermos saber quantos caracteres tem minha string? Bom, podemos usar a função strlen. Essa função retorna a quantidade de caracteres dentro da minha string e sua sintaxe é bem tranquila de lembrar:

strlen(string);

Moleza, não é mesmo?

Então agora podemos resolver nosso problema da seguinte maneira:

printf( “strlen(s1) = %u\n”, strlen( s1) );

Passo 4

v) Meu usuário escreveu um número e ele está como string, como podemos transformá-lo em inteiro para fazer operações com ele?

Bom, para isso temos a função atoi, que transforma sua string em um número inteiro. Sua sintaxe passa a ser assim: atoi(string);

Veja como ficaria nossa questão.

printf( “%d\n”, atoi( “-21” ) );

Passo 5

w) Precisamos atribuir a um ponteiro o primeiro token da string s2 que será separado por vírgula. A função token também possui uma sintaxe tranquila, observe: strtok(string, ‘caractere de separação’);

Portanto para resolver nossa questão ficaria assim:

ptr = strtok( s2, “,” );

Ufa... Acabamos por aqui!! Dê Ctrl+n no seu compilador e bora para o próximo exercício!!

Resposta

  1. sprintf( s1, “%7d%7d%7d”, x, y, z );
  2. strncat( s1, s2, 10 );
  3. printf( “strlen(s1) = %u\n”, strlen( s1) );
  4. printf( “%d\n”, atoi( “-21” ) );
  5. ptr = strtok( s2, “,” );