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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con codigo en c++, problema con strcmp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con codigo en c++, problema con strcmp  (Leído 3,973 veces)
ismaealejandroangel

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda con codigo en c++, problema con strcmp
« en: 4 Octubre 2011, 23:17 pm »

me sale el siguiente error, invalid conversion from char to const char. Espero me pueda ayudar a corregir el error ya que he tratado y no he podido. Lo que se supone que hace el programa es leer un archivo de texto y se guarda cada linea en una cadena y lo que trato de hacer es acomodar las cadenas en orden alfabetico espero me puedan ayudar, de antemano gracias
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
#define n 5
using namespace std;
int main()
{
    FILE *materia;
    char* c;
    char nombre[128];
    c = new char[1024];
    int i;
printf("Dame el nombre del archivo: ");
scanf("%s",&nombre); fflush(stdout);
materia = fopen(nombre, "r");
fstream materia2(nombre);
size_t i1 = 0;   
string cadena;
while (getline(materia2, cadena))
{
++i1;
}


for(i=1;i<=i1-1;i++)
{
    printf("\n ");
    printf("MATERIA[%d]= ",i);           
        do
        {
        c = getc(materia);
        putchar(c);
}
        while (c !='\n');
}

int a, b;
char* pivote;
for(a = 0; a < i1-1; a++)
for(b = i1-1; b > a; b--)
{
if(strcmp(c[b-1],c)>0)
{
strcpy(pivote,c[b-1]);
strcpy(c[b-1], c);
strcpy(c, pivote);
}
}
delete c;

fclose(materia);
getchar();
system("pause");
return 0;
   
}


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con codigo en c++, problema con strcmp
« Respuesta #1 en: 4 Octubre 2011, 23:57 pm »

Logico, tanto strcmp como strcpy trabajan con cadenas (conjuntos de caracteres con un cero terminador) y vos le estas pasando UN caracter (c[b-1]). Tampoco podes copiar en pivote que es un puntero indefinido ...


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Ayuda con codigo en c++, problema con strcmp
« Respuesta #2 en: 5 Octubre 2011, 01:36 am »

No entiendo por que mezcla bibliotecas de el C y de el C++

La impresión es que tu estas a copiar codigo sin entender...
En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: Ayuda con codigo en c++, problema con strcmp
« Respuesta #3 en: 5 Octubre 2011, 01:57 am »

claro cuando declaras un puntero char debes asignarle inmediatamente alguna cadena y un cero terminante ej:

char *cadena = "asdasdasd\0";

sino queda como un puntero NULL y no puede usarse. sino te conviene declarar un vector de char algo como esto

char vector[128] = {0};

y lo inicialisas con cero de esa manera.

cuando asignas desde un puntero char a un char debes hacerlo como si se tratara de un vector de char, usando notasion de corchetes asi

cadena[posicion] = char

no se si me explico, y las funciones de cadena solo trabajan con cadenas terminadas en cero como bien se dijo..  aunque algunas reasignan el cero terminante ::)

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar cadenas sin usar strcmp « 1 2 »
Programación C/C++
Rockmore 12 20,492 Último mensaje 25 Octubre 2010, 07:01 am
por do-while
Problemas con strcmp y strcat
Programación C/C++
francisco11 1 2,589 Último mensaje 31 Mayo 2013, 19:06 pm
por rir3760
problema con strcmp
Programación C/C++
m@o_614 1 2,267 Último mensaje 9 Octubre 2013, 22:48 pm
por Eternal Idol
Ayuda: Recorrer cadenas usando strcmp (alternativas), carácter '/0'.
Programación C/C++
Tolkien 2 2,311 Último mensaje 5 Junio 2014, 17:28 pm
por Tolkien
Ayuda en un programa de c++ uso del strcmp :)
Programación C/C++
SilverStun 6 2,821 Último mensaje 3 Noviembre 2014, 14:48 pm
por dRak0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines