Ir para conteúdo
Fórum Script Brasil
  • 0

Usar Printf No Lugar Do Cout!


Guest Neto

Pergunta

Uso Linux, estou iniciando na programação C++ e queria saber como usar o printf no lugar do cout( pois o gcc++ não aceita muito o cout ).

O programa exemplo que estou tentando mudar do couta para o printf obtendo o mesmo resultado é :

#include <iostream.h>

int main() {

int i = 30;

char um = 'Q', dois = 'F';

unsigned char mascara = 0xFC;

cout << "i= " << i << endl;

cout << "um= " << um << endl;

cout << "dois= " << dois << endl;

cout << "mascara= " << mascara << endl;

return 0;

}

O programa é tosco, mas quero saber o escopo do comando printf nesse caso

Queria obter o mesmo resultado com a <stdio.h> e o printf... por favor, me ajudem. wink.gif

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Putz... Enfrento esse mesmo problema... O que acontece não é problema do compilador, e sim da biblioteca padrão... Tem algum arquivo de cabeçalho(cctype ou ctype_base.h acho) que tenta usar constantes que não foram definidas(como ISdigit)... Isso segundo a mensagem de erro que aparece, não posso mostrá-la agora pois estou no Windows... Eu realmente não sei como consertar isso... Tentei um monte, mas ainds não criei coragem de reinstalar a libstdc++, pois teria que desinstalar uma pá de coisas incluindo os browsers... Se alguém souber como resolver, por favor, poste aqui.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Como assim não aceita muito o cout?????? blink.gif

Olha, exclua o .h do iostream, se seu compilador for "novo".

O printf, se você imprimir uma constante "Rodrigo", como:

printf("Rodrigo"); //ele não pede argumento.

Agora:

char nome[] = "Rodrigo";

printf( "%s", nome ); /* exige a primeira letra do tipo de dado, entre aspas, depois de %. Por exemplo, array de chars é uma string, logo, botei a letra s. */

EDITADO: Ou seja, ele pede argumento se for uma variável.

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

valeu Rodrigo!!

É que aqui no linux, quando vou compilar o programa com cout e <iostream.h>:

gcc -o prog prog.c

retorna erros e não compila. dry.gif

mas... quando compilo com:

c++ -o prog prog.c

retorna alguns erros, mas compila! huh.gif

valews!

Link para o comentário
Compartilhar em outros sites

  • 0

Ah... alguém podia me explicar a diferença entre o :

- void main() e

- int main()

Porque estava vendo trechos de códigos e eles so continham uma delas!!

Tem a ver que void main() é usado apenas em C e int main() apenas em C/C++

??

smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Rodrigo...

Consegui... mas estava querendo saber usar o printf para mostrar valores de caracteres(você já tirou minha dúvida smile.gif ) e também queria saber o porque de usando g++ -o prog_com_cout prog_com_cout.c não compila??

Obrigado wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Quanto ao compilar não sei. Eu só baixo o Dev-C++ o compilador que ele usa, eu num faço a mínima qual sad.gif .

E eu não uso linha de comando normalmente, foi mal...

Guest, void main() podia ser usado em C, porém, em C++, definiu-se como única opção, que a função main, retorne um inteiro, ao terminar ( int main() )

Link para o comentário
Compartilhar em outros sites

  • 0

Como assim não aceita muito o cout?????? 

Olha, exclua o .h do iostream, se seu compilador for "novo".

Putz... Então o meu problema é bem diferente... E parece que sou o único indivíduo que o enfrenta(ou tenta...), o que me faz criar a hipótese de que o problema não é nem do compilador e nem da biblioteca padrão... Deve ser incopetência minha...

Link para o comentário
Compartilhar em outros sites

  • 0

<iostream.h>

utiiliza #include <iostream>

e outra coisa, antes da função main, declara using std::cout

que tu não vai mais ter problemas.

Link para o comentário
Compartilhar em outros sites

  • 0
<iostream.h>

utiiliza #include <iostream>

e outra coisa, antes da função main, declara using std::cout

que tu não vai mais ter problemas.

Puxa, o Eddie viu aonde estava o fedor. O compilador deve encrencar por não declarar isso.

Para você utilizar cout, cin e outros presentes na namespace std, você pode declara-los todos juntos em:

using namespace std;

Link para o comentário
Compartilhar em outros sites

  • 0

Putz... O problema é bem mais complexo... Sempre inclui o <iostream>(sem o .h) e sempre usei using std::cout, o que acontece é que um arquivo de caeçalho ctype_base.h que é chamado pelo iostream(acho) tenta usar constantes que não foram definidas(como ISdigit)... estou no Windows agora, mas quando entrar no Linux eu edito este post e mostro a mensagem de erro.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...