Jump to content
Fórum Script Brasil
  • 0

Ajuda script c++ Outro Problema!


Túlio Cezar

Question

Com ajuda do nosso amigo mJi, concegui montar com sucesso esse código:

#include <stdio.h>
#include <windows.h>
int main()
{


char p[30] = "Ping";
char ip[30];
char resultado[100];

printf (" Digite um Ip: ");
scanf ("%s",&ip);


sprintf( resultado, "%s %s", p, ip);
system (resultado);

system ("pause");
return 1;

}

O problema e que quando digito 192.168.1.1 -t ele não imprime o -t por causa do espaço.

queria saber se existe alguma forma, para ele aceitar o espaço.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
O problema e que quando digito 192.168.1.1 -t ele não imprime o -t por causa do espaço.

queria saber se existe alguma forma, para ele aceitar o espaço.

Quem bom que está progredindo...

Só uma coisinha: Ao se ler uma string com o scanf, não se deve colocar o & ('E' comercial) antes do nome do vetor de char.

Sobre os espaços: o que ocorre é que o scanf considera o espaço como o fim da string, e ignora qualquer coisa que vier depois dele.

O que você pode fazer é utilizar uma expressão regular no scanf, para ele aceitar espaços:

scanf("%[^\n]", ip);
Esta expressão regular faz com que o scanf leia e guarde no vetor de char todo e qualquer caracter digitado antes de um '\n' (quebra de linha, ou seja, até o usuário digitar Enter). Outra maneira é utilizar o fgets:
fgets(ip, 20, stdin);
Porém, o fgets não tira o '\n' do final da string. Tem de se fazer isto você mesmo. Ficando assim:
#include <stdio.h>
#include <windows.h>

int main(){

   char p[30] = "Ping";
   char ip[30];
   char resultado[100];

   printf (" Digite um Ip: ");
   scanf ("%[^\n]",ip);


   sprintf( resultado, "%s %s", p, ip);
   system (resultado);

   system ("pause");
   return 1;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...