¿Qué es fseek () en la programación C?

Mejor respuesta

Descripción

La función de la biblioteca C int fseek (FILE * stream, long int offset, int de dónde) establece la posición del archivo de transmitir al desplazamiento dado.

Declaración

A continuación se muestra la declaración de la función fseek ().

int fseek(FILE *stream, long int offset, int whence)

Parámetros

  • stream : este es el puntero a un objeto FILE que identifica la secuencia.
  • offset : este es el número de bytes a partir de donde se debe compensar.
  • de dónde : esta es la posición desde donde se agrega el desplazamiento. Está especificado por una de las siguientes constantes:

Constante

Descripción

SEEK\_SET

Comienzo del archivo

SEEK\_CUR

Posición actual del puntero del archivo

SEEK\_END

Fin del archivo

Valor devuelto

Esta función devuelve cero si tiene éxito, o de lo contrario devuelve un valor distinto de cero.

Ejemplo

El siguiente ejemplo muestra el uso de la función fseek ().

#include

int main ()

{

FILE *fp;

fp = fopen("file.txt","w+");

fputs("This is tutorialspoint.com", fp);

fseek( fp, 7, SEEK\_SET );

fputs(" C Programming Language", fp);

fclose(fp);

return(0);

}

Compilemos y ejecutemos el programa anterior que cr coma un archivo file.txt con el siguiente contenido. Inicialmente, el programa crea el archivo y escribe Esto es Tutoriales para Java Concurrency, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Tex Commands, Agile Testing, Apache Tajo, C ++ Library, MariaDB, SAP QM, SAP SOLMAN, SAP SCM, MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, Internet de las cosas, Marketing rural, Trampolín, Golf, CakePHP, SAP EWM, Web Dynpro, Angular2, Framework7, Arduino, CherryPy, Firebase, SAP C4C, SAP Dashboard , SAP PI, ExpressJS, Design Thinking, Internet Security, PyGTK, Apache Drill, Excel Charts, Elastic Search, Computer Security, Extreme Programming, Behavior Driven Development, Conversion Rate Optimization, SAP Basis, Business Law, Kanban, Erlang, SAP Payroll, ASP.Net WP, PouchDB, MFC, SAP HR, Yii, Clojure, Aurelia, CoffeeScript, CPanel, Laravel, SAP Webi, MS SQL Server, pinterest, Indian Polity, Teradata, Windows10 pero luego restablecimos el puntero de escritura en la séptima posición desde el principio y usamos la instrucción put () que sobrescribe el archivo con el siguiente contenido:

This is C Programming Language

Ahora veamos el contenido del archivo anterior usando el siguiente programa –

#include

int main ()

{

FILE *fp;

int c;

fp = fopen("file.txt","r");

while(1)

{

c = fgetc(fp);

if( feof(fp) )

{

break;

}

printf("\%c", c);

}

fclose(fp);

return(0);

}

Compilemos y ejecutemos el programa anterior para producir el siguiente resultado:

This is the C Programming Language

Respuesta

Las personas imprimen la primera solución que les funciona.

La forma incorrecta que de alguna manera da resultados es lo más difícil de “desaprender” para un entrenador en su atleta. El problema es que el atleta se interpone en el camino, luego golpea una pared con la mala técnica y se lo pasa fatal para volver a aprender la forma adecuada.

La programación también es así, pero algo más fácil dependiendo de la flexibilidad. de la mente del programador y la humildad de su perspectiva hacia la idea de que tal vez no sepan todo lo que hay que saber al respecto.

A menudo, al principio, aprender un idioma es como aprender a aprender rocas en la playa y decir “guau guau” y ponértelo en el bolsillo. Muy pronto, tenemos un bolsillo lleno de rocas que llevamos consigo y creemos que sabemos todo sobre geología.

Pero un programador necesita saber más que lo genial que es una herramienta de lenguaje.

C es una buena base para conocer las partes de un sistema computacional y cómo unir las piezas hacia un objetivo de programación. También es muy rápido, por lo que los hechos nublan el juicio de modo que cada dominio del problema parece que una solución C sería el mejor, el más rápido y el más lógico enfoque. Estos son sus «hábitos C» que están entrando en acción, y eso está bien para los dominios problemáticos que requerirán un enfoque centrado en el dispositivo, orientado a bytes y fragmentado. C funciona bien en una sola variable. La mayoría de los programas en C hacen malabarismos con algunas variables independientes, trabajando en una a la vez, la mayoría con cualquier estado del programa contenido en unas pocas variables independientes. Cada declaración, cada cambio, se planifica y controla a nivel atómico, o se considera una sola función a la vez. Cada bloque de memoria se contabiliza individualmente de forma manual, con cuidado.

Pero C ++ está más orientado al diseño de sistemas y enfatiza la interacción de objetos. Los datos son el rey, como de costumbre, pero los objetos activos son cómo se generan y procesan los datos. Todo lo que ha aprendido antes de C sigue siendo válido, pero el enfoque para diseñar software se basa en objetos, estado de objeto e interfaces.

La gente puede cambiar: escribe menos cartas y envía más correo electrónico, utilice sus teléfonos por más cosas y su computadora de escritorio por menos a medida que pasa el tiempo (pero su teléfono se parece más a su computadora todos los días …).

Si se encuentra escribiendo código similar a C en C ++, intente ver si hay una API más orientada a objetos que haría lo mismo con menos código. Sin experiencia, es difícil ver dónde los métodos OO superan a los métodos procedimentales, pero muchas personas realmente inteligentes han descubierto que los patrones de diseño OO ahorran tiempo y se vuelven a trabajar más adelante en sistemas grandes. C ++ es el término medio, donde tiene las ventajas de trabajar fácilmente tanto en el dominio de la interfaz de bytes como en los dominios de la interfaz orientada a objetos.

Aprenda el STL. Úselo y verá cómo las ideas orientadas a objetos y la filosofía de la interfaz de objetos que promueve reemplaza el enfoque procedimental directo de C.Pero mantenga esas habilidades C gastadas en su bolsillo trasero, porque a veces le servirán bien.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *