집 >소프트웨어 튜토리얼 >사무용 소프트웨어 >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;
}
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); } 반품렌; } 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에서 지정된 문자열의 다음 데이터 줄을 읽는 방법
위 내용은 C 언어로 된 TXT 문서에서 시작과 끝 사이의 두 줄의 문자 데이터를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!