Tengo un problema con C++ al leer datos de un archivo txt en un programa usando el siguiente código fuente:
Cuando lo revisé por segunda vez, me di cuenta de que aún tenías algunos problemas con la lectura, así que lo cambié a esto:
#include
#include
#include < ;cstring> // Para encontrar la longitud de una cadena
Utilice el espacio de nombres
int main()
{
salida ofstream;
salida.open("salida.txt"); // Crea una nueva salida. archivo de texto. txt
char a[50],b[50];
cout << "Ingrese una cadena de caracteres que desea almacenar en su computadora, terminando con " #" key: "< cin >> b; //Lee B directamente y luego procésalo para evitar la confusión causada por leer uno por uno b[ strlen( b)-1] = '\0'; //strlen es una función contenida en Salida<< b; cout<< "La cadena que ingresó:""< output.close(); //No me di cuenta de esto antes cuando escribí un programa para cerrar el archivo. Uso de la función de objeto fstream close() } Leer datos de output.txt requerirá el uso de una de nuestras clases C++ ifstream, que está diseñada específicamente para leer datos de archivos . Su uso es el siguiente: ifstream in ("xxx.txt"); aquí in es un identificador, que puede ser cualquier nombre legal, y xxx.txt es el nombre del archivo. De esta forma, podemos utilizar este objeto para completar la tarea. Después de la segunda revisión, mi procedimiento fue mucho más corto. ifstream in("output.txt"); in >> a for ( int i = 0; i < strlen(a); i++ ) { if ( a[i] >= 'a' && a[i] <= 'z' ) cout << static_cast else cout << a[i]; } Dado que la transformación se leyó palabra por palabra del archivo y se generó en el bucle for, esto No se requiere acción. El archivo completo tiene este aspecto: //change_from_file.cpp #include #include #include usando el espacio de nombres std; int main() { salida de flujo; salida.open("salida.txt");salida.txt char a[50],b[ 50]; cout << "Por favor, introduzca una cadena de caracteres que desea almacenar en su computadora, que terminan con la tecla "#":" < cin >> b; b[strlen(b)- 1 ] = '\0'; salida<< b; cout<< "La cadena que escribiste: ""< salida.close(); ifstream in("g:/output.txt"); in >> a; for ( int i = 0; i < strlen(a); i++ ) { if ( a[i] >= 'a' && a[i] < = ' z' ) cout << static_cast<char>(a[i]-32); else cout << a[i]; } return 0; } Además, también hay productos en la compra del grupo webmaster, que son baratos y garantizados