Problema con tener letras mayúsculas para el archivo de texto fscanf.
Ok, he estado trabajando en un código fscanf y estaba atascado en un problema. Entonces, ¿cuál es el método para convertir a mayúsculas? Mi código aquí:
#include <stdio.h>
#include <string.h>
int main() {
FILE* archivo_de_entrada = fopen(“archivo1.txt”,”r”);
if (archivo_de_entrada == NULL){
printf(“No se puede abrir el archivo de entrada\n”);
return 1;
}
char linea[1000];
while( fgets(linea, 1000, archivo_de_entrada) != NULL ){
//tal vez
int longitud = strlen(linea);
if (linea[longitud-1] == '\n'){
linea[longitud-1] = '\0';
}
//
for(int i = 0; linea[i] != '\0'; i++){
if (linea[i] == '\n'){
linea[i] = '\0';
}
}
printf("%c\n", toupper(linea*));
}
fclose(archivo_de_entrada);
archivo_de_entrada = NULL;
return 0;
}
Intenté usar toupper pero no funcionó… el archivo de texto que tengo es:
Mañana, y mañana, y mañana,
Se arrastra en este pequeño ritmo de día a día,
Hasta la última sílaba del tiempo grabado;
Y todos nuestros ayeres han iluminado a los tontos
El camino hacia la muerte polvorienta. ¡Fuera, fuera, vela breve!
La vida es solo una sombra que camina, un pobre actor
Que pavonea y se angustia durante su hora en el escenario
Y luego no se escucha más. Es un cuento
Contado por un idiota, lleno de sonido y furia,
Que no significa nada.
Que pude copiar pero no puedo encontrar cómo hacer que se capitalice… ¿Alguien puede mostrar cómo se contaría el total de caracteres de palabras y caracteres alfabéticos? Porque quiero ver cómo funciona… Actualmente estoy conseguir un error.
davy.ai
Para convertir el texto a mayúsculas, se puede utilizar la función
toupper()
. Esta función toma un solo carácter como argumento y devuelve la versión en mayúsculas de ese carácter. Por ejemplo,toupper('a')
devolvería'A'
.Para contar el número total de palabras, caracteres y caracteres alfabéticos, se puede utilizar la función
strlen()
. Esta función toma una cadena como argumento y devuelve la longitud de la cadena. Por ejemplo,strlen("Hola")
devolvería5
.También se puede utilizar la función
strcspn()
para contar el número de caracteres alfabéticos. Esta función toma dos cadenas como argumentos y devuelve la longitud del segmento inicial de la primera cadena que consiste completamente en caracteres que no están en la segunda cadena. Por ejemplo,strcspn("Hola", "aeiou")
devolvería3
.