Saludos este es mi primer post, me registre porque hay una buena fuente de información y me gustaría colaborar de la misma manera. Estoy estudiando en linea y hay algunos códigos que no veo que hagan diferencia a la hora de verlos en Deb.
por ejemplo:
#include "stdafx.h"
#include <iostream>
using namespace std ;
int main ( )
{
cout << "C++ fue creado en los '80 " ;
cout << " y fue derivado del lenguaje C " << endl;
cout << "Ambos lenguajes usan funciones. " << endl << endl;
cout << "Tambien usan librerias y header files. \n\n " ;
system ("pause") ;
return 0;
}
Los términos que tengo un poco de dudas (n\n) la cual no veo diferencia en la consola, igual porque razón en Internet se critica mucho que se use "system("pause") y getchar() es la mas recomendable.
Gracias de ante mano, perdón por todas las preguntas simultaneas.
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
El endl siempre funciona si quieres añadir al final de un ciclo for y saltar lineas de codigo simultaneas, el "\n" solo funciona dentro de la cadena de texto que quieras mostrar por pantalla. Te dejo un ejemplo
#include <iostream>
using namespace std;
int main(){
for(int i=0; i<4;i++){
cout<<endl;
for(int j=0;j<4;j++){
cout<<"*";
}
}
}
El system("PAUSE"); a mi me soluciono la vida cuando empece a programar en Visual Studio, siempre se salia cuando empezaba el programa, y no me dejaba hacer nada, si lo ponia me servia. ;D
getchar(); te puede funcionar para cuando estas trabajando con archivos fuera del programa, ejemplo: un .txt externo con libreria <fstream>
Cita de: ianmorar03 en 7 Agosto 2017, 08:06 AM
El endl siempre funciona si quieres añadir al final de un ciclo for y saltar lineas de codigo simultaneas, el "\n" solo funciona dentro de la cadena de texto que quieras mostrar por pantalla. Te dejo un ejemplo
#include <iostream>
using namespace std;
int main(){
for(int i=0; i<4;i++){
cout<<endl;
for(int j=0;j<4;j++){
cout<<"*";
}
}
}
El system("PAUSE"); a mi me soluciono la vida cuando empece a programar en Visual Studio, siempre se salia cuando empezaba el programa, y no me dejaba hacer nada, si lo ponia me servia. ;D
getchar(); te puede funcionar para cuando estas trabajando con archivos fuera del programa, ejemplo: un .txt externo con libreria <fstream>
Muchas gracias, me aclaro mas dudas de lo que pensaba.
Una aclaración importante sobre endl:
En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.
Existe otra función, que es flush:
cout << flush;
Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
cout << '\n' << flush;
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.
Cita de: ivancea96 en 7 Agosto 2017, 12:47 PM
Una aclaración importante sobre endl:
En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.
Existe otra función, que es flush:
cout << flush;
Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
cout << '\n' << flush;
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.
Gracias, son notas importantes muy agradecido.