Dev - C++ - Cambiar el valor de dos variables por el valor de dos numeros de un fichero.

 
Vista:

Cambiar el valor de dos variables por el valor de dos numeros de un fichero.

Publicado por joelujos (1 intervención) el 06/12/2015 00:02:48
Buenas.

Tengo dos variables :

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
int main (){
 
a= 2;
b=3;          // 2 y 3 son los valores predeterminados
 
config(a, b);
 
cout << a << "y" << b;
 
return 0;
}
 
bool config(int a, int b)
{
	bool valido;
	ifstream archivo;
 
	archivo.open("config.txt");
 
 
	if (!archivo.is_open())
	{
		cout << "No hay archivo de configuarcion" << endl;
		valido = false;
 
	}
else
{
	archivo >> a;
	archivo >>b;
 
	valido = true;
}
 
	return valido;
}

Me compila. No me cambia los valores predeterminados por los que encuentre en el archivo.
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cambiar el valor de dos variables por el valor de dos numeros de un fichero.

Publicado por agustin (522 intervenciones) el 06/12/2015 10:24:09
Estas pasando las variables por valor lo que quiere decir que se crea una copia de las variables y trabajas en la función con esas copias y por eso al salir los originales no cambiaron. Para hacer lo que quieres tienes que usar punteros: bool config(int *a, int *b) y así envías la dirección de las variables y haciendo por ejemplo *a=10 veras que a la salida si cambio ya que en este caso no pasas una copia de la variable sino un puntero que referencia a esta.
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