C 프로그래밍에서 fseek ()는 무엇입니까?


우수 답변

설명

C 라이브러리 함수 int fseek (FILE * stream, long int offset, int whence) stream 을 지정된 오프셋 으로.

선언

다음은 fseek () 함수에 대한 선언입니다.

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

매개 변수

  • stream − FILE 객체에 대한 포인터입니다. 스트림을 식별합니다.
  • offset − 이것은 언제부터 오프셋 할 바이트 수입니다.
  • whence − 오프셋이 추가 된 위치입니다. 다음 상수 중 하나에 의해 지정됩니다-

상수

설명

SEEK\_SET

파일 시작

p>

SEEK\_CUR

파일 포인터의 현재 위치

SEEK\_END

파일 끝

반환 값

이 함수는 성공하면 0을 반환하고 그렇지 않으면 0이 아닌 값을 반환합니다.

다음 예는 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);

}

위의 프로그램을 컴파일하고 실행하겠습니다. 다음 내용이 포함 된 file.txt 파일을 작성하십시오. 처음에 프로그램은 파일을 생성하고 이것은 튜토리얼입니다. Java 동시성, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Tex Commands, Agile Testing, Apache Tajo, C ++ 라이브러리, MariaDB, SAP QM, SAP SOLMAN, SAP SCM, MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, 사물 인터넷, 농촌 마케팅, Trampolining, 골프, CakePHP, SAP EWM, Web Dynpro, Angular2, Framework7, Arduino, CherryPy, Firebase, SAP C4C, SAP 대시 보드 , SAP PI, ExpressJS, 디자인 씽킹, 인터넷 보안, PyGTK, Apache Drill, Excel 차트, Elastic Search, 컴퓨터 보안, 익스트림 프로그래밍, 행동 기반 개발, 전환율 최적화, SAP Basis, 비즈니스 법률, 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 그러나 나중에 우리는 처음부터 7 번째 위치에서 쓰기 포인터를 재설정하고 다음 내용으로 파일을 덮어 쓰는 puts () 문을 사용했습니다-

This is C Programming Language

이제 다음 프로그램을 사용하여 위 파일의 내용을 보겠습니다 −

#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);

}

위 프로그램을 컴파일하고 실행하여 다음과 같은 결과를 얻습니다.

This is the C Programming Language

답변

사람들은 자신에게 적합한 첫 번째 솔루션에 각인됩니다.

어떻게 든 결과를 얻는 잘못된 형식은 코치가 운동 선수에서“배우지 않는”가장 어려운 일입니다. 문제는 운동 선수가 길을 잃은 다음 나쁜 기술로 벽에 부딪 히고 적절한 형태를 다시 배우는 데 끔찍한 시간을 보낸다는 것입니다.

프로그래밍도 이와 비슷하지만 유연성에 따라 다소 쉽습니다. 프로그래머의 마음, 그리고 그것에 대해 알아야 할 모든 망할 일을 모를 수도 있다는 생각에 대한 그들의 견해의 겸손 함.

처음에 언어를 배우는 것은 종종 빛을내는 것과 같습니다. 해변에서 바위를 치고 “와우 예쁘다”고 주머니에 넣습니다. 곧 우리는 우리가 가지고 다니는 바위로 가득 찬 주머니를 갖게되고 지질학에 대해 모두 알고 있다고 생각합니다.

하지만 프로그래머는 언어 도구가 얼마나 멋진 지 그 이상을 알아야합니다.

C는 계산 시스템의 일부를 알고 프로그래밍 목표를 위해 조각을 조합하는 방법을 알 수있는 좋은 기초입니다. 또한 매우 빠르기 때문에 모든 문제 도메인이 C 솔루션처럼 보이도록 사실이 판단을 내리는 것이 가장 좋고 가장 빠르고 가장 논리적 인 접근 방식입니다. 이것이 시작되는 “C 습관”이며, 단편적이고 바이트 지향적 인 장치 중심 접근 방식이 필요한 문제 도메인에 적합합니다. C는 단일 변수에서 잘 작동합니다. 대부분의 C 프로그램은 몇 개의 독립 변수를 저글링하여 한 번에 하나씩 작업하며 대부분의 프로그램 상태는 몇 개의 독립형 변수에 보관됩니다. 모든 진술, 모든 변경 사항이 계획되고 원자 수준에서 제어되거나 한 번에 하나의 기능이 고려됩니다. 각 메모리 블록은 수동으로 신중하게 개별적으로 처리됩니다.

그러나 C ++는 시스템 설계에 더 중점을두고 있으며 객체 상호 작용을 강조합니다. 평소와 같이 데이터가 왕이지만 활성 개체는 데이터가 생성되고 처리되는 방식입니다. 이전에 C에서 배운 모든 내용은 여전히 ​​유효하지만 소프트웨어 설계 방식은 객체, 객체 상태 및 인터페이스에 관한 것입니다.

사람들은 글자를 적게 쓰고 더 많은 이메일을 보내고 사용할 수 있습니다. 시간이 지남에 따라 더 많은 일을 할 수있는 휴대 전화와 적은 시간 동안 데스크톱 PC를 사용할 수 있습니다 (하지만 휴대 전화는 매일 PC와 비슷해집니다…).

C ++로 C와 유사한 코드를 작성하는 경우 더 적은 코드로 동일한 작업을 수행하는 더 많은 객체 지향 API가있는 경우. OO 방법이 절차 적 방법을 능가하는 곳을 확인하는 것은 경험 없이는 어렵지만 OO 디자인 패턴이 나중에 대규모 시스템에서 시간을 절약하고 재 작업을한다는 사실은 정말 똑똑한 사람들에 의해 해결되었습니다. C ++는 바이트 인터페이스 도메인과 객체 지향 인터페이스 도메인 모두에서 쉽게 작업 할 수있는 장점이있는 중간 지점입니다.

STL에 대해 알아보세요. 그것을 사용하면 OO 아이디어와 그것이 촉진하는 객체 인터페이스 철학이 C의 직접적인 절차 적 접근 방식을 대체하는 방법을 알게 될 것입니다. 그러나 이러한 낡은 매끄러운 C 기술은 때때로 당신에게 잘 봉사 할 것이기 때문에 뒷주머니에 보관하십시오.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다