Yo mejor q lo expliké creo q no puedo.. mira, te pongo los códigos completos:
En funVarias.h:
#include <string>
#ifndef FUNVARIAS_H //si no esta definido ya este .h
#define FUNVARIAS_H //lo definimos
std::string Split (std::string cadena, char m, int numero);
void StrToChar(std::string cadena, char* &pChar);
#endif
Y en funVarias.cpp
#include <string>
std::string Split (std::string cadena, char m, int numero)
{
int posicion; //Determina la posición del caracter por donde keremos partir
std::string principal; //Cadenas donde guardaremos los trozos deseados
std::string secundaria;
secundaria = cadena;
for (int n = 0; n <= numero; n++)
{
posicion = secundaria.find (m);
principal = (secundaria.substr (0,posicion)); //Guardamos el primer trozo de cadena
secundaria = (secundaria.substr (posicion + 1,secundaria.length ())); //Guardamos el resto de la cadena
}
return principal; //Devolvemos el trozo de cadena deseado, si no lo hemos encontrado se dvuelve la cadena entera
}
void StrToChar(std::string cadena, char* &pChar)
{
int tam = cadena.length(); //obtenemos el tamaño de la cadena origen
int t = 0;
for(int n = 0; n <= tam ;n++) //por cada caracter de la cadena, se la asiganamos al array
{
pChar [n] = cadena[t];
t++;
}
}
Weno ya q estoy, mensajes.h
#include <string>
#ifndef MENSAJES_H //si no esta definido ya este .h
#define MENSAJES_H //lo definimos
void mostrarMsj(std::string opcion, std::string titulo, std::string texto);
#endif
y mensajes.cpp
#include "mensajes.h"
#include "funVarias.h"
#include <windows.h>
void mostrarMsj(std::string opcion, std::string titulo, std::string texto)
{
int TamText = texto.size(); //Obtenemos el tamaño del texto q keremos mostrar
int TamTitle = titulo.size(); //Lo mismo para el tamaño del titulo
//La funcion MessageBox no nos deja mostrar una cadena, por lo que la debemos pasar a char
char* mens = new char [TamText]; //Esta es la matriz q se mostrará
char* title = new char [TamTitle]; //Idem para el titulo
StrToChar(texto, mens);
StrToChar(titulo, title);
//mostramos el mensaje, segun la opcion elegida
if (opcion == "error"){
MessageBox(NULL,mens,title,MB_ICONERROR); //ERROR
}
if (opcion == "info"){
MessageBox(NULL,mens,title,MB_ICONINFORMATION); //INFORMACION
}
if (opcion == "interrog"){
MessageBox(NULL,mens,title,MB_ICONQUESTION); //INTERROGACION
}
if (opcion == "adver"){
MessageBox(NULL,mens,title,MB_ICONEXCLAMATION); //ADVERTENCIA
}
delete mens; //Liberamos la memoria reservada anteriormente
delete title;
}
Creo q si lo pones tal cual en los modulos deberia funcionarte
