elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18
121  Programación / Programación C/C++ / Problema con memcpy() [SOLUCIONADO] en: 22 Noviembre 2013, 16:05 pm
Hola a todos.

Tengo un vector de punteros a char.
Quiero leer todas las líneas de un fichero y almacenar cada una de ellas en cada componente de mi vector de punteros.
No conozco a priori el tamaño del fichero.

El problema es que, no se por qué, al redimensionar el vector de punteros voy perdiendo las cadenas almacenadas. Este es mi código:

Código:
#define readErr(ifs) ifs.rdstate() & ifstream::failbit

char ** readFich(ifstream &ifs,const int &BUFFER_S){
char line[BUFFER_S];
char **dev=new char*[1],**aux=NULL;
//dev = vector de strings donde almaceno cada linea del texto.
//aux = var. auxiliar para apuntar a dev mientras ésta es redimensionada.
int i=1;
//leo línea
ifs.getline(line,BUFFER_S);
        //la copio en el vector
        dev[i]=new char[BUFFER_S];
        strcpy(dev[i],line);
        while(!ifs.eof()){
        //Compruebo que no hay errores, si los hay, salgo del bucle.
        if (readErr(ifs)!= 0){
            cout<<"ERROR: INTENTANDO LEER MAS DE 256 CARACTERES"<<endl;
            break;
        }else{
            //libero la memoria a la que apuntaba aux
            delete[] aux;
            //salvo la direcc. de memoria de dev
            aux=dev;
            //redimensiono dev
            dev=new char*[i+1];
            //le paso los datos que tenia hasta ahora
            memcpy(dev,aux,sizeof(aux));
            //le asigno la nueva linea
            dev[i]=new char[BUFFER_S];
            strcpy(dev[i],line);
            //vuelvo a leer
            ifs.getline(line, BUFFER_S);
        }
        i++;
    }
    return dev;
}

No entiendo cual es el problema, ¿Qué puedo hacer?

Muchas gracias
122  Programación / Programación C/C++ / Re: Ayuda C++11 en: 12 Noviembre 2013, 09:55 am
Hola de nuevo. He encontrado un libro perfecto para esto:

"The C++ standard library (2nd Edition)"

Comienza explicando todo lo nuevo de C++11 y termina con lo nuevo de la STL de C++11 (incluídas las librerías para concurrencia)

Está en inglés, y no lo he encontrado en español.

¿Alguien sabe donde conseguirlo en español?

Saludos.
123  Programación / Programación C/C++ / Re: Ayuda C++11 en: 12 Noviembre 2013, 09:29 am
Gracias por la respuesta. Intentaré seguir por ahí.

PD. ¿Algún buen libro de C++ en español?
124  Programación / Programación C/C++ / Ayuda C++11 [SOLUCIONADO] en: 12 Noviembre 2013, 00:39 am
Hola a todos.

Estoy intentando aprender las nuevas características de C++11 (que por lo que veo son muchísimas)

El caso es que la información que he encontrado es bastante "escueta" en cuanto a explicaciones (por ej. explicando clases movibles pero no copiables).

Mi pregunta es si alguien conoce alguna web, libro ... cualquier cosa que sea como un "tutorial completo" de C++11

Gracias.
125  Programación / Programación C/C++ / semantica de movimientos C++ y java en: 4 Noviembre 2013, 11:03 am
Hola a todos. He estado leyendo acerca de las nuevas características de C++11, en especial sobre las referencias a rvalues y la mejora de rendimiento que consigue con los constructores de movimiento etc. Mi pregunta es si esta optimizacion la puede conseguir por si solo un compilador o si siempre hay que hacerla a "mano", y siendo así, como implementarla en java y demas lenguages de mas alto nivel (si es que es posible)

Saludos.
126  Programación / Programación C/C++ / Re: Problema al intentar compilar c++11 [SOLUCIONADO] en: 28 Octubre 2013, 18:13 pm
settings>compiler>compiler flags> marcar "have g++ follow the C++11 ISO ..."
127  Programación / Programación C/C++ / Problema al intentar compilar c++11 [SOLUCIONADO] en: 28 Octubre 2013, 16:53 pm
Hola a todos.

Mi pregunta es como puedo compilar C++11 con mingw (4.7) de codeblocks.
Ya he añadido en settings>compiler>other settings>compile output to be ignoded
-std=c++11 y -std=c++0x pero sigue sin funcionar.

¿Qué puedo hacer?

Muchas gracias.

PD. para verificar que estoy en c++11 declaro una variable auto y le asigno valor:
' auto i = 1 ' ; y esto no compila.
128  Programación / Programación C/C++ / Problema visual C++ en: 5 Septiembre 2013, 14:38 pm
Hola a todos.

He instalado este IDE junto con marmalade, el problema que tengo es que al ejecutar cualquier cosa con marmalade me salta un error que dice que no tengo "msdev.exe".
He estado mirando por google, y por lo visto es algo que el visual studio debería haber instalado normalmente. He intentado descargarlo pero no esta por ninguna parte.

¿Alguien sabe que puedo hacer?

Gracias.
129  Programación / Java / Re: Problema con árbol de directorios java swing en: 31 Julio 2013, 17:52 pm
Hola de nuevo. He encontrado la solución a mi problema.

El problema era que al seleccionar una "carpeta vacia" (porque recordemos que aun no se han agregado sus sub-carpetas) no ocurría un evento 'TreeExpansionEvent'.

Pero si que, al seleccionar dicha carpeta "vacía" ocurre un 'TreeSelectionEvent', de tal manera que escribiendo nuestro método dentro de un listener de ese evento, al seleccionar el "archivo (carpeta vacía)", esta pasa a convertirse en una carpeta con todas su subcarpetas asociadas.
Añadiendo un simple if(....!=null){...} conseguimos que al seleccionar archivos (que obviamente no tienen subdirectorios) no se lance una NullPointerException.

Saludos.

PD. Adjunto el código, si alguien detecta algún error agradecería que me lo comentase.

Código:

import java.io.File;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;

/**
 *
 * @author Dan
 */
public class DirectoryTree implements TreeSelectionListener{
    DefaultMutableTreeNode root;
    DefaultTreeModel model;
    JTree dirTree;
   
    public DirectoryTree(){
        root=new DefaultMutableTreeNode("C:/");
        model=new DefaultTreeModel(root);
        dirTree=new JTree(model);
   
        dirTree.addTreeSelectionListener(this);
    }
   
    public JTree getTree(){
        return this.dirTree;
    }
   
    @Override
    public void valueChanged(TreeSelectionEvent e) {
        TreePath tp=e.getPath();
        Object aux2[]=tp.getPath();
        String aux="";
        for(int i=0;i<aux2.length;i++){
            aux=aux+"/"+((DefaultMutableTreeNode)aux2[i]).toString();
        }
        System.out.println(aux);
        addFolders(aux,this.model,(DefaultMutableTreeNode)tp.getLastPathComponent());
    }
   
    private static void addFolders(String path,DefaultTreeModel m,DefaultMutableTreeNode root){
        File fil=new File(path);
        if(fil!=null){
            String aux[]=fil.list();
            if(aux!=null){
                for(int i=0;i<aux.length;i++){
                    m.insertNodeInto(new DefaultMutableTreeNode(aux[i]), root, i);
                }
            }
        }
    }
   
    private static String[] getDirs(File fil){
        if(fil.exists()){
            return fil.list();
        }else{
            return null;
        }
    }
   
    public static void main(String args[]){
        JFrame frame=new JFrame();
        DirectoryTree dt=new DirectoryTree();
        JScrollPane jsc=new JScrollPane(dt.getTree());
        frame.getContentPane().add(jsc);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}

130  Programación / Java / Problema con árbol de directorios java swing [SOLUCIONADO] en: 31 Julio 2013, 02:30 am
Hola a todos.

Quiero crear una GUI que muestre el árbol de directorios, y los subdirectorios de estos según se vaya desplegando.

En lugar de crear todo el árbol de golpe (demasiado costoso), lo que quiero es que al darle a desplegar "C:/" por ej., en ese momento se creen los nodos pertinentes y se muestren.

Lo he intentado hacer pero como el nodo raíz (C:/) al inicio está vacío, el método que tengo para caputar el TreeExpansionEvent no hace nada (aparte de que no estoy seguro de que funcione bien). ¿Qué puedo hacer?

Muchas gracias.

PD.adjunto el código:

Código:
public class DirectoryTree implements TreeExpansionListener{
    
    /* Atributos necesarios: */
    DefaultMutableTreeNode root;
    DefaultTreeModel model;
    JTree dirTree;
    
    /* COnstructor: */
    public DirectoryTree(){
        root=new DefaultMutableTreeNode("C:/");
        model=new DefaultTreeModel(root);
        dirTree=new JTree(model);
    }
    
    /* Devuelve el JTree para poder pasarselo a JScrollPane */
    public JTree getTree(){
        return this.dirTree;
    }

    @Override
    public void treeExpanded(TreeExpansionEvent event) {
        TreePath tp=event.getPath();
        Object aux2[]=tp.getPath();
        String aux="";
        for(int i=0;i<aux2.length;i++){
            aux=aux+"/"+((DefaultMutableTreeNode)aux2[i]).toString();
        }
        addFolders(aux,this.model,this.root);
    }

       private static void addFolders(String path,DefaultTreeModel m,DefaultMutableTreeNode root){
        File fil=new File(path);
        if(fil!=null){
            String aux[]=fil.list();
            for(int i=0;i<aux.length;i++){
                m.insertNodeInto(new DefaultMutableTreeNode(aux[i]), root, i);
            }
        }
    }

public static void main(String args[]){
        JFrame frame=new JFrame();
        DirectoryTree dt=new DirectoryTree();
        JScrollPane jsc=new JScrollPane(dt.getTree());
        frame.getContentPane().add(jsc);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines