C/Visual C - copiar la segunda cadena de 3 y guardarla en una nueva variable

 
Vista:
sin imagen de perfil

copiar la segunda cadena de 3 y guardarla en una nueva variable

Publicado por Cristian Alexis (2 intervenciones) el 07/11/2013 21:15:08
hola estoy intentando desarrollar un ejercicio pero no he llegado a la solucion, se trata de ingresar 3 cadenas y copiar la cadena del medio en una nueva variable en lenguage C
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier

copiar la segunda cadena de 3 y guardarla en una nueva variable

Publicado por Francisco Javier (2 intervenciones) el 08/11/2013 17:03:09
String cadena = "cadena1 cadena2 cadena3";
String cadenaCortada="";
int indiceInicio=0, indiceFinal=0;

for( int i=0; i<cadena.Length; i++)
{
if(cadena.CharAt(i)==" ")
{
indiceInicio=i;
break;
}
}

for( int i=0; i<cadena.Length; i++)
{
if(cadena.CharAt(i)==" ")
{
indiceFinal=i;
break;
}
}

cadenaCortada=cadena.SubString(indiceInicio, (indiceFinal-indiceInicio));
Console.WriteLine(cadenaCortada);


Saludos (=
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

copiar la segunda cadena de 3 y guardarla en una nueva variable

Publicado por Chema (234 intervenciones) el 11/11/2013 21:44:00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
typedef struct StrList
{
	int len;
	char *str;
}StrList;
StrList *strlist;
 
char st1[] = "cadena numero 1";
char st2[] ="cadena numero 2";
char st3[] = "cadena numero 3";
 
void InsertString(char *data){
	int len;
	char *p;
	len = strlen(data);
	p = strlist->str;
	memcpy(p + strlist->len,data,len);
	strlist->len += len;
	*(p + strlist->len) = 0x0;
	strlist->len++;
}
 
int main(void){
	char *p;
	char*c;
	char *cpy;
	char *copy;
	int i;
	int nstr=0;
	strlist = malloc(sizeof(StrList));
	strlist->str = malloc(8192);
	copy = malloc(1024);
	strlist->len =0;
 
	InsertString(st1);
	InsertString(st2);
	InsertString(st3);
 
	cpy = copy;
	p = strlist->str;
	for( i =0; i < strlist->len; i++ , c = p++){
		if(*c == 0x0)
			nstr++;
		if(nstr ==1)
			*cpy++ = *p;
	}
 
	*cpy = 0x0;
	printf("%s", copy);
 
	free(strlist->str );
	free(strlist);
	free(copy);
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar