strings
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| strings [2012/08/21 20:43] – [Funciones para manipular strings] lmateu | strings [2015/03/31 12:50] (actual) – [Leer de la entrada estándar] lmateu | ||
|---|---|---|---|
| Línea 13: | Línea 13: | ||
| Tanto r como s representan el mismo string. | Tanto r como s representan el mismo string. | ||
| - | {{ :strings.png? | + | {{ :strings2.png? |
| La única diferencia es que el string " | La única diferencia es que el string " | ||
| Línea 28: | Línea 28: | ||
| ^ Nombre ^ Ejemplo ^ Descripción ^ | ^ Nombre ^ Ejemplo ^ Descripción ^ | ||
| | strlen | int l= strlen(" | | strlen | int l= strlen(" | ||
| - | | strcmp | strcmp(fuente, | + | | strcmp | strcmp(fuente, |
| | strncmp | strncmp(fuente, | | strncmp | strncmp(fuente, | ||
| | strcpy | strcpy(dest, | | strcpy | strcpy(dest, | ||
| Línea 34: | Línea 34: | ||
| | strcat | strcat(dest, | | strcat | strcat(dest, | ||
| - | * La función strcmp entrega | + | * La función strcmp entrega |
| * La función strncmp es similar solo que compara hasta n caracteres. | * La función strncmp es similar solo que compara hasta n caracteres. | ||
| * Antes de invocar strcpy y strcat se debe reservar suficiente memoria en dest para almacenar el resultado. | * Antes de invocar strcpy y strcat se debe reservar suficiente memoria en dest para almacenar el resultado. | ||
| Línea 63: | Línea 63: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | === Ejercicio 1 === | ||
| + | |||
| + | Resuelva la pregunta 1 del [[http:// | ||
| ==== Desplegar texto en la salida estándar ==== | ==== Desplegar texto en la salida estándar ==== | ||
| Línea 87: | Línea 91: | ||
| ^ función ^ ejemplo ^ descripción ^ | ^ función ^ ejemplo ^ descripción ^ | ||
| | fprintf(// | | fprintf(// | ||
| - | | sprintf(// | + | | sprintf(// |
| * La variable stderr corresponde a la salida estándar de errores. | * La variable stderr corresponde a la salida estándar de errores. | ||
| Línea 150: | Línea 154: | ||
| * argv[0] siempre corresponde al nombre del ejecutable. | * argv[0] siempre corresponde al nombre del ejecutable. | ||
| - | === Ejercicio === | + | === Ejercicio |
| Programe la función que lleva un string a letras mayúsculas. | Programe la función que lleva un string a letras mayúsculas. | ||
| Línea 169: | Línea 173: | ||
| ^ función ^ ejemplo ^ descripción ^ | ^ función ^ ejemplo ^ descripción ^ | ||
| | getchar() | '' | | getchar() | '' | ||
| - | | gets(// | + | | gets(// |
| | fgets(// | | fgets(// | ||
| | scanf(// | | scanf(// | ||
| - | === Ejercicio === | + | **Observación**: |
| + | y por lo tanto no se debe usar para leer datos de la red o de un archivo de origen desconocido porque puede | ||
| + | ser blanco de ataques de gusanos o virus. | ||
| + | |||
| + | === Ejercicio | ||
| El siguiente programa despliega la línea más larga de la entrada estándar: | El siguiente programa despliega la línea más larga de la entrada estándar: | ||
| Línea 186: | Línea 194: | ||
| int largo= 0; | int largo= 0; | ||
| - | while (gets(lin)!=NULL) { | + | |
| + | while (fgets(lin, N, stdin)!=NULL) { | ||
| if (strlen(lin)> | if (strlen(lin)> | ||
| strcpy(larga, | strcpy(larga, | ||
strings.1345581789.txt.gz · Última modificación: por lmateu
