Heim  >  Artikel  >  Software-Tutorial  >  So lesen Sie die beiden Zeilen mit Zeichendaten zwischen Anfang und Ende in einem TXT-Dokument in der Sprache C

So lesen Sie die beiden Zeilen mit Zeichendaten zwischen Anfang und Ende in einem TXT-Dokument in der Sprache C

WBOY
WBOYnach vorne
2024-01-09 08:34:13725Durchsuche

So lesen Sie die Daten zwischen zwei Zeichenzeilen in einem TXT-Dokument in C-Sprache, z. B. zwischen Anfang und Ende

Angenommen, die Dateistruktur ist: 1E1F 0309 luan7 8 zao

2E2F 1518

beginnen

12 39692

12 39712

9 39724

Ende

beginnen

14 39692

8 39724

Ende

luan7 8 zao

qi qi guai guai

beginnen

312 39692

142 39712

95 39724

Ende

Enthält mehrere Teile von Anfangs- und Enddaten

#include #include

main( ) {

DATEI *fin;

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

char one_line[80];

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

if (fin==NULL){printf("open file errorn");return 0;}

Lab1:while(1){

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

printf("Kann nicht mehr finanziert werden");goto Lab2;}

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

}

für (i=0;i

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

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

n++;

}

gehe zu Lab1;

Lab2: fclose(fin);

printf("I read:n");for (i=0;ireturn 0;

}

Was ist zu tun, wenn Semikolons verwendet werden, um Daten aus TXT mit der C-Sprache zu extrahieren?

fgets liest jede Datenzeile und verwendet dann strchr, um die Position zu finden, an der das Semikolon erscheint, und führt dann die entsprechende Konvertierung durch!

Dies ist ein Beispiel, das ich geschrieben habe, um eine bestimmte Zeichenfolge zu lesen. Sie können darauf zurückgreifen und die Zeichenfolge in eine Gleitkommazahlfunktion ändern

#include

#include

#definiere N 10

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

int main()

{

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

char date[N][128]={0};

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

for (int i=0;i {

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

}

return 0;

}

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

{

if(plen {

printf („Array ist zu klein, bitte ändern Sie den Speicherort!“);

return 0;

}

static int len=0;

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

if(find==NULL)

{

strcpy(p[savepos],str);

len++;

return len;

}

sonst

{

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

len++;

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

}

return len;

}

So lesen Sie die nächste Datenzeile einer bestimmten Zeichenfolge in txt mit der Sprache C

Verwenden Sie fgets, um eine Zeile zu lesen, und sscanf, um die erste Datenspalte zu lesen

Im Folgenden wird davon ausgegangen, dass die erste Datenspalte als Zeichenfolge verwendet und im Format sscanf(buf,"%s",...) gelesen wird.

Verwenden Sie in ähnlicher Weise %d für Ganzzahlen und %f %lf für Gleitkommazahlen....

#include

#include

main(){

char buf[100];

char col[100][30];

int n=0;

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

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

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

}

return 0;

}

Wenn Sie die erste Zahl jeder Zeile lesen möchten (lesen Sie nur eine Ziffer, verwenden Sie das Format %1d):

int x[100];

...

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

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

Das obige ist der detaillierte Inhalt vonSo lesen Sie die beiden Zeilen mit Zeichendaten zwischen Anfang und Ende in einem TXT-Dokument in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen