Cita de: ivancea96 en 9 Agosto 2017, 22:59 PMgg te entiendo, pero si el archivo tiene 1000 lineas? escribo 1000 veces getline? Exactamente esa es mi pregunta.
Son 2 líneas no? Empieza escribiendo 2 veces el getline ¯\_(ツ)_/¯
¿Y si son 3 líneas?
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úCita de: ivancea96 en 9 Agosto 2017, 22:59 PMgg te entiendo, pero si el archivo tiene 1000 lineas? escribo 1000 veces getline? Exactamente esa es mi pregunta.
Son 2 líneas no? Empieza escribiendo 2 veces el getline ¯\_(ツ)_/¯
¿Y si son 3 líneas?
Cita de: ivancea96 en 9 Agosto 2017, 22:08 PM
Tienes 1 "getline(archivo, leer);", así que cogerá 1 línea.
Si quieres que coja varias, tendrás que ponérselo. Si quieres que lea todo el fichero, tendrás que coger líneas con ese getline hasta que el fichero se acabe. Esto lo haces con un bucle while, por ejemplo. La condición de este bucle será que el archivo haya sido leído o no. Eso lo tienes con "archivo.eof()" (eof -> end of file):while(!archivo.eof()) { //...
string cliente1;
cout<<"Nombre del cliente 1 \n>";
getline(cin, cliente1);
cout<<"Nombre del cliente 1: "<<cliente1;
hola mundo
esta es otra linea
string ficheroAbrir;
string leer;
cout << "Inserte el nombre del fichero que quiera abrir > ";
getline(cin, ficheroAbrir);
ficheroAbrir = "ficheros/" + ficheroAbrir + ".txt";
ifstream archivo;
archivo.open(ficheroAbrir.c_str());
getline(archivo, leer);
cout << "Linea leida" << leer;
archivo.close();
cout << "Inserte la palabra que quiera codificar > ";
string palabraCod;
char cadena[50];
getline(cin, palabraCod);
cout << palabraCod;
int len = palabraCod.length();
cout << "\nEl tamanio de la palabra es: " << len << endl;
for (int i = 0; i < palabraCod.length(); i++) {
cadena[i] = palabraCod[i];
cout << cadena[i];
}
cout << endl;
int letrasEncontradas[50];
for (int j = 0; j < len; j++) {
for (int k = 0; k < 27; k++) {
if (cadena[j] == alfabeto[k]) {
letrasEncontradas[j] = k+1;
palabra[j] = clave[k];
cout << clave[k];
}
}
}
#include <iostream>
using namespace std;
int main(){
for(int i=0; i<4;i++){
cout<<endl;
for(int j=0;j<4;j++){
cout<<"*";
}
}
}
Cita de: dato000 en 15 Noviembre 2016, 22:15 PM
prueba con esto:
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
int main(int argc, char** argv) {
string linea;
ifstream archivoLeido ("archivo.txt.");
int numeroLinea = 1;
if(archivoLeido)
{
while(getline (archivoLeido, linea) )
{
if(linea == "colombia Vs argentina"){
cout << "linea buscada: " << linea <<endl;
cout << "Se encuentra en la linea numero: " << numeroLinea << endl;
}
numeroLinea++;
}
}
else
cout<<"No se pudo abrir el archivo";
return 0;
}
Ejemplo:
Archivo.txt
struct datos{
string nombre;
};
if(*datoAlmacenado1* == *datoAlmacenado2*){
cout<<"Es igual";
}
else{
cout<<"No es igual";
}
#include <iostream>
#include <fstream>
using namespace std;
int main(){
string leeArchivo;
char respuesta1;
char respuesta2;
ifstream file("ejemplo.txt");
getline(file, leeArchivo);
if(leeArchivo == "puede volar?"){
cout<<leeArchivo<<endl;
}
cin>>respuesta1;
if(respuesta1 == 'n'){
while(getline(file, leeArchivo)){
if(leeArchivo == "puede ladrar?"){
cout<<leeArchivo<<endl;
}
}
cin>>respuesta2;
if(respuesta2 == 'n'){
while(getline(file, leeArchivo)){
if(leeArchivo == "gato"){
cout<<leeArchivo<<endl;
}
}
}
if(respuesta2 == 's'){
getline(file, leeArchivo);
if(leeArchivo == "perro"){
cout<<leeArchivo<<endl;
}
}
}
else{
getline(file, leeArchivo);
if(leeArchivo == "pajaro"){
cout<<leeArchivo<<endl;
}
}
file.close();
return 0;
}