>  기사  >  소프트웨어 튜토리얼  >  C 언어로 된 TXT 문서에서 시작과 끝 사이의 두 줄의 문자 데이터를 읽는 방법

C 언어로 된 TXT 문서에서 시작과 끝 사이의 두 줄의 문자 데이터를 읽는 방법

WBOY
WBOY앞으로
2024-01-09 08:34:13742검색

C 언어 TXT 문서에서 시작과 끝 사이 등 두 줄의 문자 사이에 있는 데이터를 읽는 방법

파일 구조가 다음과 같다고 가정합니다: 1E1F 0309 luan7 8 zao

2E2F 1518

시작

12 39692

12 39712

9 39724

시작

14 39692

8 39724

luan7 8 자오

qi qi guai guai

시작

312 39692

142 39712

95 39724

시작, 종료 데이터의 여러 부분이 포함되어 있습니다

#포함 #포함

메인( ) {

파일 *지느러미;

int a[1000],b[1000],n=0,i;

문자 한 줄[80];

fin=fopen("abc.txt","r");

if (fin==NULL){printf("파일 열기 오류n");return 0;}

Lab1:동안(1){

if ( fgets(one_line,80,fin)==NULL){

printf("더 이상 펀딩을 시작할 수 없습니다");Lab2로 이동;}

if (strncmp(one_line,"begin",5)==0)break;

}

for (i=0;i

if (strncmp(one_line,"end",3)==0)break;

sscanf(one_line,"%d %d",&a[n],&b[n]);

n++;

}

Lab1으로 이동;

Lab2: fclose(fin);

printf("읽음:n");for (i=0;ireturn 0;

}

C 언어를 사용하여 txt에서 데이터를 추출하기 위해 세미콜론을 사용하는 경우 어떻게 해야 할까요

fgets는 데이터의 각 줄을 읽은 다음 strchr을 사용하여 세미콜론이 나타나는 위치를 찾은 다음 해당 변환을 수행합니다.

지정된 문자열을 읽기 위해 작성한 예입니다. 이를 참고하여 문자열을 부동 소수점 숫자 함수로 수정하세요

#포함

#포함

#N 10 정의

int readstr(const char* str,char p[][128],int plen,int savepos);

int 메인()

{

char str[]="2012/10/12;123456.0;456123.0";

문자 날짜[N][128]={0};

int len=readstr(str,date,N,0);

for (int i=0;i

{

printf("%sn",date[i]);

}

0을 반환합니다;

}

int readstr(const char* str,char p[][128],int plen,int savepos)

{

if(plen

{

printf("배열이 너무 작습니다. 저장 위치를 ​​변경하세요!")

0을 반환합니다;

}

정적 정수 len=0;

char *find=strchr(str,';');

if(find==NULL)

{

strcpy(p[savepos],str);

len++;

반품렌;

}

그밖에

{

strncpy(p[savepos],str,find-str);

len++;

readstr(find+1,p,N,len);

}

반품렌;

}

C 언어를 사용하여 txt에서 지정된 문자열의 다음 데이터 줄을 읽는 방법

fgets를 사용하여 행을 읽고 sscanf를 사용하여 데이터의 첫 번째 열을 읽습니다

다음은 데이터의 첫 번째 열을 문자열로 사용하고 sscanf(buf,"%s",... 형식을 사용하여 읽는다고 가정합니다.

마찬가지로 정수에는 %d를 사용하고 부동 소수점에는 %f %lf를 사용합니다....

#포함

#포함

메인(){

char buf[100];

문자열[100][30];

int n=0;

파일 *fp = fopen("a.txt", "r");

while( fgets(buf, 100, fp) != NULL) {

if (sscanf(buf,"%s",col[n]) == 1){printf("%sn", col[n]) };

}

0을 반환합니다;

}

각 줄의 첫 번째 숫자를 읽으려면(한 자리만 읽으려면 %1d 형식을 사용하세요):

int x[100];

...

while( fgets(buf, 100, fp) != NULL) {

if (sscanf(buf,"%1d",&x[n]) == 1){ printf("%dn",x[n]);n++;};

위 내용은 C 언어로 된 TXT 문서에서 시작과 끝 사이의 두 줄의 문자 데이터를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제