Vaya... con el rato que me pasé buscando y resulta que estaba ahí...
Muchas gracias! Era eso exactamente lo que quería!
Muchas gracias! Era eso exactamente lo que quería!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <iostream>
using namespace std;
int main() {
cout << "HOLA" << endl;
cin.get();
return 0;
}
#include <iostream>
int main() {
std::cout << "HOLA" << std::endl;
std::cin.get();
return 0;
}
#ifndef _String_h_
#define _String_h_
#include <cstdlib>
#ifndef NULL
#define NULL 0
#endif
class String {
public:
String();
String(const char *init_value);
unsigned int getNumCharacters();
bool isEmpty();
const char *toString();
void append(const char *data);
char charAt(unsigned int index);
void toUpperCase();
void toLowerCase();
void replaceData(const char *data);
void replaceChar(char oldChar, char newChar);
void clear();
private:
char *_value;
unsigned int _num_characters;
};
#endif
#include "string.h"
String::String() {
_value = (char *)calloc(1, 1);
_num_characters = 1;
}
String::String(const char *init_value) {
unsigned int num_characters = 0;
while(init_value[num_characters] != (char)NULL)
num_characters += 1;
_num_characters = num_characters;
_value = (char *)malloc(num_characters + 1);
_value[num_characters] = (char)0;
for(unsigned int i = 0; i < num_characters; i++)
_value[i] = init_value[i];
}
unsigned int String::getNumCharacters() {
return _num_characters;
}
bool String::isEmpty() {
return _num_characters == 1;
}
const char *String::toString() {
char *result = (char *)malloc(_num_characters + 1);
result[_num_characters + 1] = (char)NULL;
for(unsigned int i = 0; i <= _num_characters; i++)
result[i] = _value[i];
return result;
}
void String::append(const char *data) {
unsigned int num_data_characters = 0;
unsigned int new_num_characters;
while(data[num_data_characters] != (char)NULL)
num_data_characters += 1;
realloc(_value, _num_characters + num_data_characters + 1);
_value[_num_characters + num_data_characters] = (char)NULL;
new_num_characters = _num_characters + num_data_characters;
for(unsigned int i = 0; i < num_data_characters; i++)
_value[i] = data[i];
_num_characters = new_num_characters;
}
char String::charAt(unsigned int index) {
return _value[index];
}
void String::toUpperCase() {
for(unsigned int i = 0; i <= _num_characters; i++) {
if(_value[i] >= (char)97 && _value[i] <= (char)122)
_value[i] -= (char)32;
}
}
void String::toLowerCase() {
for(unsigned int i = 0; i <= _num_characters; i++) {
if(_value[i] >= (char)65 && _value[i] <= (char)90)
_value[i] += (char)32;
}
}
void String::replaceData(const char *data) {
unsigned int num_characters = 0;
while(data[num_characters] != (char)NULL)
num_characters += 1;
_num_characters = num_characters;
realloc(_value, num_characters + 1);
_value[num_characters] = (char)0;
for(unsigned int i = 0; i < num_characters; i++)
_value[i] = data[i];
}
void String::replaceChar(char oldChar, char newChar) {
for(unsigned int i = 0; i <= _num_characters; i++) {
if(_value[i] == oldChar)
_value[i] = newChar;
}
}
void String::clear() {
realloc(_value, 1);
_value[0] = (char)NULL;
_num_characters = 1;
}
#include <iostream>
#include "string.h"
int main(int argc, char *argv[]) {
String cadena = "";
cadena.replaceData("Hola, soy un programador :'D");
std::cout << cadena.toString();
std::cin.get();
return 0;
}
for(unsigned int i = 0; i < num_characters; i++)
_value[i] = data[i];