Nejlepší odpověď
Popis
Funkce knihovny C int fseek (FILE * stream, long int offset, int whence) nastavuje pozici souboru stream na daný offset .
prohlášení
Následuje deklarace funkce fseek ().
int fseek(FILE *stream, long int offset, int whence)
Parametry
- stream – toto je ukazatel na objekt SOUBOR který identifikuje stream.
- offset – toto je počet bajtů, od kterého se má offsetovat.
- odkud – toto je pozice, odkud je přidán offset. Je určena jednou z následujících konstant –
Konstanta
Popis
SEEK\_SET
Začátek souboru
SEEK\_CUR
Aktuální poloha ukazatele souboru
SEEK\_END
Konec souboru
Návratová hodnota
Tato funkce vrací nulu, pokud je úspěšná, jinak vrací nenulovou hodnotu.
Příklad
Následující příklad ukazuje použití funkce 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);
}
Pojďme sestavit a spustit výše uvedený program, který bude vytvořte soubor file.txt s následujícím obsahem. Program zpočátku vytvoří soubor a zapíše Toto je výukové programy pro 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 věcí, venkovský marketing, trampolíny, 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, Optimization 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 ale později jsme resetovali ukazatel zápisu na 7. pozici od začátku a použili jsme příkaz put (), který přepíše soubor s následujícím obsahem –
This is C Programming Language
Nyní nechme „zobrazit obsah výše uvedeného souboru pomocí následujícího programu –
#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);
}
Pojďme sestavit a spustit výše uvedený program, abychom vytvořili následující výsledek –
This is the C Programming Language
Odpověď
Lidé otisknou první řešení, které pro ně funguje.
Špatná forma, která nějakým způsobem přináší výsledky, je pro trenéra je nejtěžší „odnaučit“ se u svého sportovce. Problém je v tom, že sportovec dostane část cesty, pak narazí na zeď špatnou technikou a má hrozný čas znovu naučit správnou formu.
Programování je také podobné, ale o něco jednodušší v závislosti na flexibilitě programátorovy mysli a pokory jejich pohledu na myšlenku, že možná neznají všechny ty zatracené věci, které o tom mají vědět.
Na začátku je učení jazyka často jako vyzvednutí lesklého kameny na pláži a jít „wow pretty“ a dát si to do kapsy. Brzy máme kapsu plnou hornin, které nosíme, a myslíme si, že víme všechno o geologii.
Ale programátor potřebuje vědět víc než jen to, jak skvělý je jazykový nástroj.
C je dobrým základem pro poznání částí výpočetního systému a pro sestavení jednotlivých částí směrem k cíli programování. Je také rychlá, takže úsudek faktických mraků, takže každá problémová doména vypadá jako řešení C, by byl nejlepší, nejrychlejší a nejlogičtější přístup. Toto jsou vaše „zvyky C“, které začínají, a to je v pořádku pro problémové domény, které budou vyžadovat postupný přístup orientovaný na bajty zaměřený na zařízení. C funguje dobře na jedné proměnné. Většina programů C žongluje s několika nezávislými proměnnými, pracuje na jedné po druhé, většinou s libovolným stavem programu v několika samostatných proměnných. Každý příkaz, každá změna je naplánována a řízena na atomové úrovni nebo je brána v úvahu jednotlivá funkce. Každý blok paměti je individuálně pečlivě účtován ručně.
C ++ je ale více zaměřen na design systémů a zdůrazňuje interakci objektů. Data jsou jako obvykle králem, ale aktivní objekty jsou tím, jak se data generují a zpracovávají. Vše, co jste se dříve naučili z jazyka C, je stále platné, ale přístup k navrhování softwaru je o objektech, stavu objektu a rozhraních.
Lidé se mohou měnit – píší méně dopisů a posílají více e-mailů, používají jejich telefony pro více věcí a jejich stolní počítač za méně času (ale jejich telefon se každodenně podobá jejich počítači…).
Pokud zjistíte, že v C ++ píšete kód podobný C, zkuste se podívat pokud existuje více objektově orientované API, které by dělalo totéž s menším množstvím kódu. Je těžké bez zkušeností zjistit, kde metody OO převyšují procedurální metody, ale bylo zpracováno spoustou opravdu chytrých lidí, že návrhové vzory OO šetří čas a přepracovávají později ve velkých systémech. C ++ je prostředník, kde máte výhody snadné práce v doméně bajtového rozhraní i v doménách objektově orientovaného rozhraní.
Naučte se STL. Použijte jej a uvidíte, jak nápady OO a filozofie objektového rozhraní, které podporuje, nahrazuje přímý procedurální přístup C. Mějte však tyto opotřebované C dovednosti v zadní kapse, protože vám někdy dobře poslouží.