Hola ruben04, para escribir en los foros es conveniente que leas el hilo
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0, que pongas un título más descriptivo a una consulta, que expliques con mayor detenimiento, y que pegues el código completo con el que estás trabajando. En este caso también sería conveniente un ejemplo del contenido que puedas tener en un fichero "datos.txt"
El problema puede derivar del tipo de variables que estás usando y de la forma de comparar strings.
Para comparar strings debe usarse la función compare, que dispone de diferentes signaturas.
Ejemplo explicativo sobre la comparación de strings en C++:
// comparing apples with apples
#include <iostream>
#include <string>
int main ()
{
std::string str1 ("green apple");
std::string str2 ("red apple");
if (str1.compare(str2) != 0)
std::cout << str1 << " is not " << str2 << '\n';
if (str1.compare(6,5,"apple") == 0)
std::cout << "still, " << str1 << " is an apple\n";
if (str2.compare(str2.size()-5,5,"apple") == 0)
std::cout << "and " << str2 << " is also an apple\n";
if (str1.compare(6,5,str2,4,5) == 0)
std::cout << "therefore, both are apples\n";
return 0;
}
Saludos