elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:25  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  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 970 veces)
ismaealejandroangel

Desconectado Desconectado

Mensajes: 2


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

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
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


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

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 »

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 »

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
Strcmp, ayuda porfa!!
Programación General
PSyCho_bro 4 505 Último mensaje 29 Noviembre 2004, 07:35
por AnKeR
Problema con codigo en PHP... ayuda !! « 1 2 3 4 5 »
Desarrollo Web
Diabliyo 60 3,723 Último mensaje 23 Julio 2005, 19:13
por Diabliyo
problema con este codigo ayuda para solucionarlo
Desarrollo Web
catp1710 2 313 Último mensaje 1 Agosto 2006, 18:15
por Nabucodonosor
Pequeño problema con codigo, ayuda
PHP
soru13 2 466 Último mensaje 22 Noviembre 2007, 12:43
por soru13
Comparar cadenas sin usar strcmp
Programación C/C++
Rockmore 12 2,621 Último mensaje 25 Octubre 2010, 07:01
por do-while
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines