Guest Neto Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 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 casoQueria obter o mesmo resultado com a <stdio.h> e o printf... por favor, me ajudem. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 Bom brother..Uso o Dev C++ no Windows, e para chegar no solução deste problema bastou incluir o stdio.h. #include <iostream> #include <stdio.h> int main() { printf("William Rodrigues"); } Não sei se no seu caso te ajudaria (nunca usei o gcc++) Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 Como assim não aceita muito o cout?????? 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 valeu Rodrigo!! É que aqui no linux, quando vou compilar o programa com cout e <iostream.h>:gcc -o prog prog.cretorna erros e não compila. mas... quando compilo com:c++ -o prog prog.c retorna alguns erros, mas compila! valews! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 Num entendi. Você já conseguiu o que queria?Rodrigo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 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++?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Dezembro 8, 2004 Denunciar Share Postado Dezembro 8, 2004 Rodrigo...Consegui... mas estava querendo saber usar o printf para mostrar valores de caracteres(você já tirou minha dúvida ) e também queria saber o porque de usando g++ -o prog_com_cout prog_com_cout.c não compila??Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 9, 2004 Denunciar Share Postado Dezembro 9, 2004 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 .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() ) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Dezembro 9, 2004 Denunciar Share Postado Dezembro 9, 2004 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 9, 2004 Denunciar Share Postado Dezembro 9, 2004 Explica melhor aí o seu problema, eu não entendi. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 9, 2004 Denunciar Share Postado Dezembro 9, 2004 Tem a ver que void main() é usado apenas em C e int main() apenas em C/C++??Nesse outro tópico o brother iSoron (Moderador de Java) fala exatamente sobre isso. VejaExplicaçãoAbraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eddie_666 Postado Dezembro 10, 2004 Denunciar Share Postado Dezembro 10, 2004 <iostream.h>utiiliza #include <iostream>e outra coisa, antes da função main, declara using std::coutque tu não vai mais ter problemas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 10, 2004 Denunciar Share Postado Dezembro 10, 2004 <iostream.h>utiiliza #include <iostream>e outra coisa, antes da função main, declara using std::coutque 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Dezembro 11, 2004 Denunciar Share Postado Dezembro 11, 2004 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Neto
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.
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
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.