Ir para conteúdo
Fórum Script Brasil

iSoron

Veteranos
  • Total de itens

    1.317
  • Registro em

  • Última visita

Posts postados por iSoron

  1. Hehe Realmente, esse tópico foi interessante. Questão de gosto não se discute mesmo... Eu prefiro Java, e o mercado de trabalho também, como o aragorn13 falou. Com certeza C++ tem maior experiencia quanto a desktop. Java ainda precisa melhorar nessa parte.

    Na duvida, aprenda os dois! biggrin.gif

    sem dúvida, ninguém vai querer criar um script para a web em C++, o que só é possível usando-se CGI
    Ou então usando J2EE, com sua arquitetura complexa de servlets, JSP, struts, EJB, etc.

  2. o método pubseekoff recebe três parametros:

    pubseekoff(off, way, cursor)
    
    A partir da posição "way", que pode ser inicio, fim, ou local atual, mova o "cursor", que pode ser o de entrada ou o de saida, "off" casas, onde "off" é um inteiro.
    
    way
      ios::beg - inicio
      ios::end - fim
      ios::cur - atual
    
    cursor
      ios::in  - cursor de entrada
      ios::out - cursor de leitura
    
    retorna a posição do cursor
    

    Ou seja, a partir do final, eu pedi pra ele andar 0 casas e me retornar a posição atual. Isso, obviamente, vai retornar o tamanho total do texto.

    A diferença do pubseekoff pra o pubseekpos é que o primeiro é a posição relativa, enquanto o segundo, a posição absoluta. Então, não precisa especificar se é contando a partir do inicio, do fim, ou da posição atual. Na linha do pubseekpos, eu voltei o cursor pra posição inicial, pra não perder nada do texto.

    Na parte do sgetn, eu mandei ele ler size letras e gravar no buffer.

  3. Acho que assim o código fica mais elegante.

    Se você já está usando a classe fstream, por que não utilizar todos os recursos dela? Dê uma olhada no código e veja como eu capturei o conteudo do arquivo pra variavel buffer. wink.gif

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <vector>
    using namespace std;
    
    int main() {
        filebuf *pbuf;
        ifstream filestr;
        long size;
        char *buffer;
        int linhas = 0;
        
        // abre o arquivo
        filestr.open("teste.txt");
        
        // pega o ponteiro associado ao buffer
        pbuf = filestr.rdbuf();
        
        // pega o tamanho do arquivo
        size = pbuf->pubseekoff(0, ios::end, ios::in);
        pbuf->pubseekpos(0,ios::in);
        
        // aloca a memoria e pega os dados
        buffer = new char[size];
        pbuf->sgetn(buffer, size);
        filestr.close();
        
        // cria a string e a separa, para depois armazenar no vetor
        vector<string> partes;
        char *aux = strtok(buffer, "\n");
        while (aux!=NULL){
            partes.push_back(aux);
            aux = strtok(NULL, "\n");
            linhas++;
        }
        
        // escreve na tela
        for(register int i=0; i<linhas; i++)
            cout << "(" << i << ") " << partes.at(i) << endl;
        
        return 0;
    } 

  4. Sobre o Java meu caro, concorde comigo em um aspecto: C++ é melhor que Java. Inicialmente era para ser uma linguagem interpretada, assim como Python e CGI, mas surgiram compiladores para ela, assim como surgiram compiladores capazes de tornar arquivos Python e CGI programas .EXE

    Pra começo de história, essa comparação C++ vs Java é impossivel. Java é uma tecnologia, não uma linguagem. Java desktop é só um dos ramos, que, por sinal, nem é o mais importante. Acho que você precisa definir "melhor", pois algo pode ser melhor em muitos aspectos, que talvez não interessem. Java sempre foi compilada, desde os primórdios. Você está confundindo bytecode com script.

    Mas tudo bem, reconheço seu amor à linguagem C++! biggrin.gif

    Se ela não fosse tão boa, o compilador javac não seria criado em C, ou muitos outros programas por aí. Com a criação do C++, muita gente parou de programar em ASM, mas nem por isso ele morreu. Hoje, é inviável programar alguma coisa digna em ASM. Não estou querendo matar o C++, só estou dizendo que há inguagens melhores, sim, dependendo do seu objetivo.

  5. Tira essa propaganda do FrontPage. Ah sim, como disseram, esse js do começo tá matando. E esse negocio d ultima visita tb...

    Além disso, não entendi o proposito da "Area Protegida". Assim q você entra, a senha já vem preenchida. Pra piorar as coisas, a autenticação é em javascript tb. E tirar o bt direito não adiantou nada... deu pra ver a senha assim mesmo:

    if (form.id.value=="coelho") { 
    if (form.pass.value=="letmein") {  

    Enfim, nota 2.

  6. O C++ é a linguagem mais perfeita de todas em relação "Facilidade de uso/Número de recursos". Pra ser sincero, é a linguagem mais poderosa, só perde para Assembly ou para linguagens ainda mais próximas da linguagem binária original que podem ser mais rápidas e igualmente poderosas

    O C++ é perfeito para aplicaçoes Desktop que exigem, antes de mais nada, perfomance. Quanto à facilidade de uso, C++ perde feio para VB. Isso não deve ser visto como uma qualidade, ou ponto fraco, mas como uma caracteristica. Se seu objetivo é produtividade, não é nada agradável escrever 200 linhas para criar uma interface gráfica. Se você estiver fazendo um sistema operacional, é outra historia. Antes de mais nada, você vai querer dominio sobre o hardware. É aí que entram as linguagem de baixo nivel.

    obs.: antes que alguém me interprete mal, odeio VB.

    Java que é seu fiel concorrente é de certa forma mais fácil, porém é uma linguagem interpretada, ou seja, mais lenta e menos poderosa, bem menos, além disso o programa abre sobre outro diminuindo sua flexibilidade, confiabilidade, personalização e o torna dependente.

    Agora não entendi mais nada! Linguagens interpretadas são menos poderosas? Bem, tanto faz, porque java não é interpretado de forma alguma. Não sei se você já ouviu falar "compilaçao dinamica", mas é +- assim: A maquina virtual pega todas as caracteristicas da maquina e COMPILA o código intermediário com muitas otimizaçoes. Assim, se um processador suporta um tipo especial de instruçao, a maquina virtual irá detectar e compilar o codigo aproveitando essa instrução.

    Antes de comentar sobre uma linguagem, é preciso conhecê-la. Cada linguagem tem sua aplicação, cada uma tem sua própria área. Seria loucura desenvolver OS em prolog, ou criar um Doom3 em python, assim como seria absurdo desenvolver um forum desses em C++. Daria pra fazer? Talvez sim. Mas do que adianta um código complexo e gigantesco em uma linguagem baixo nivel, quando o mesmo resultado pode ser obtido em poucas linhas de uma linguagem alto nivel?

    Voltando ao tópico, C++ é uma ótima linguagem para criação de jogos. Não sei se alguma outra linguagem a supera nesse ramo. Mas é preciso estudar bem e ficar fluente na linguagem antes de desenvolver qualquer coisa mais séria. wink.gif

  7. Ele foi importante pra época dos primeiros SOs. Afinal, graças a ele, quase todo mundo tem um computador em casa e consegue usá-lo sem precisar saber nada sobre programação. É estranho, mas antes do "MS-DOS Executive" (vulgo windows 1.01) só existiam programas para geeks. Foi ele que introduziu o Paint e o Notepad... Alguém tem que levar um mérito por isso.

    Infelizmente, ele só tem feito besteira atualmente. A microsoft cresceu em cima das mentiras do ótimo setor de marketing deles a ponto de abafar o resto da informática! Isso, sem duvida, atrasou bastante o desenvolvimento... Hoje em dia, a microsoft ainda tenta manter o monopólio que conseguiu na época do windows 95, mas não tem jeito, a cada dia ele vem diminuindo. Acho que o Bill Gates já foi importante, mas agora ele é descartável.

    "640K ought to be enough for anybody." -- Bill Gates, 1981

    Links legais:

    Windows 1.0

    Microsoft MULTIPLAN (protótipo do Windows que era uma cópia do OS)

    Previsões feitas no passado

  8. Tudo o que você quer está bem aqui. biggrin.gif

    Ou então, se não quiser ler muito, The GNU MP Bignum Library.

    GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface.

    The main target applications for GMP are cryptography applications and research, Internet security applications, algebra systems, computational algebra research, etc.

    GMP is carefully designed to be as fast as possible, both for small operands and for huge operands. The speed is achieved by using fullwords as the basic arithmetic type, by using fast algorithms, with highly optimized assembly code for the most common inner loops for a lot of CPUs, and by a general emphasis on speed.

  9. Encapsulamento

    Encapsulamento é como um escudo de um objeto. Cada objeto tem essa barreira pra impedir que outros objetos tenham acesso ao seu conteúdo restrito. Seria como várias contas de email, por exemplo. Cada um tem acesso apenas à sua propria conta. Isso não significa, porém, que você nunca poderá acessar um email que alguém me enviou. Pra fazer isso, você precisa me pedir, ou precisa que eu te dê o acesso.

    Quando você declara um atributo como public, você está dizendo que isso é publico, e que qualquer um pode acessá-lo. Se for declarado como private, só você terá acesso a ele. O mesmo vale pra métodos. Muitas vezes, um método publico é usado pra devolver informaçoes de atributos privados. Isso garante que você só leia, e não altere nada, por exemplo.

    Na prática:

    private String senha = "SeNHa123";
    
    // Um metodo publico pode ser usado pra realizar operaçoes
    // em atributos privados que não possam ser revelados.
    public boolean checaSenha(String s) {
       if(s.equals(senha)) return true;
       else return false;
    }
    Polimorfismo Polimorfismo é o ato de um objeto responder de maneiras diferentes ao mesmo pedido. O que muda é que um pedido pode não especificar algumas coisas, ou especificar demais. Por exemplo, digamos que exista o metodo getHoras(). Se utilizado sem nada nos paranteses, seria como "Que horas são?". Logo, devolveria a hora atual. Se a pergunta fosse "Que horas é o show?", o mesmo método seria utilizado, porém agora seria feito outro procedimento pra responder a pergunta. Algo como getHoras(Show s). Note que eu posso perguntar com ou sem os argumentos, ou com argumentos de outros tipos. Cabe ao programador implementar o método para cada pergunta específica. Na prática:
    public void getHoras() { ..... }
    public int getHoras(Show s) {...... }
    public String getHoras(int x) { ...... }
    
    Herança Provavelmente o conceito mais importante de OO. É quando dois objetos possuem caracteristicas comuns, provenientes de um ancestral comum. Um carro e uma moto possuem as mesmas caracteristicas de serem um veículo, de precisarem de combustivel, etc. Logo, esses métodos e atributos comuns devem ser inclusos em uma classe Veiculo e depois herdados pelas classes Carro e Moto. Assim, se você precisar mudar alguma coisa em todas as classes, basta mudar na ancestral. Assim, todas as demais serão alteradas. Na prática:
    class Veiculo { .... }
    class Carro extends Veiculo {....}
    class Moto extends Veiculo { .... }
    

    Acho que é só. Qualquer duvida, posta aí. biggrin.gif

    ps.: Dividi o Post anterior, já que se tratava de outro assunto.

  10. Nessa parte, você está lendo dois chars:

     while(getc(ptr)!=EOF){
        if(getc(ptr)=='\n'){
           count++;
           fwrite(&arq,sizeof(arq),1,ptr);
        }
    }
    Acho que ficaria melhor assim:
     char x;
     while((x = getc(ptr))!=EOF){
        if(x=='\n'){
           count++;
           fwrite(&arq,sizeof(arq),1,ptr);
        }
    }

  11. Eu queria saber se os crackers mantém contatos do tipo "Pcs que podemos atacar..."?, porque de repente todos eles resolveram me atacar de uma vez.

    Quando você é contaminado por algum backdoor, ele abre uma porta em seu sistema que fica visível a todos os usuários da internet. Claro que os usuários comuns nem ligam, ou nem sabem verificar se essas portas estão abertas, mas os crackers têm os chamados "Scanners" que verificam rapidamente dezenas de milhares de ips, procurando quem está com essa porta aberta. No seu caso, deve ser a 12345 ou 20034.

    o netbus é um trojan que conecta-se remotamente ao micro, portanto uma forma de impedi-lo (acredito eu) é desabilitar serviços de acesso remoto do windows.

    O Netbus usa um servidor próprio, que é um arquivo chamado Server.exe, ou Patch.exe. Desabilitar os serviços padrão Windows não adianta.

    O melhor a fazer é instalar um bom firewall e um bom antivirus. Eu, pessoalmente, não gosto nem pouco dos produtos da Norton. Se quiser uma solução rápida, use o The Cleaner.

    falou!

  12. Agora, não seria ao contrário? 2 linhas em VB e 1000 em C? Já que VB oculta muitos processos que estamos fazendo sem saber e C deixa tudo explícito? Só curiosidade  tongue.gif

    Tente fazer um programa que use socks nas duas linguagens e você qual q ficou com 2 linhas e qual ficou com as 1000. Aliás, desde quando código pequeno é sinal de linguagem boa?

  13. Sinceramente, não aconselho traduzir a IDE. Isso porque, a partir de agora, quase tudo do que você precisa se encontra em ingles. Os melhores livros gratuitos são em ingles, as melhores ferramentas são em ingles, toda a documentação Java é em ingles. Acho melhor você ir se aucostumando aos termos logo, pois se você for estudar J2EE, aí é que não tem nada em portugues mesmo! Apache, EJB, Struts, tudo é em ingles... mad.gif

    Se você quiser uma IDE mais fácil, baixe o JCreator.

    Té mais.

  14. Tudo o que funcionava no java 1.3 ainda funciona no 1.5. Então você pode baixar o mais novo e seguir o livro. wink.gif As vezes, pode dar um warning dizendo que o método está desatualizado, mas não tem problemas em continuar usando. Quando você tiver tempo, basta atualizar para os métodos mais novos. Geralmente os mais novos são mais rápidos, ou mais compativeis.

    falou

  15. Acho o Eclipse ótimo, mesmo pra iniciantes.

    O JCreator, por exemplo, é uma cópia do Visual C++ totalmente mal adaptada. Não tem code completation adequado, não gera javadocs automaticamente, dentre outras coisas...

    O que ainda pode ter de complicado no eclipse é na hora de rodar o projeto, que precisa configurar a classe principal. Fora isso, é tudo muito simples. huh.gif

    ps.: Usar o eclipse pra editar um arquivo .java isolado, realmente é inviável. Mas aí já é outra historia. tongue.gif

×
×
  • Criar Novo...