ホームページ > 記事 > ソフトウェアチュートリアル > C言語でTXTドキュメントの開始と終了の間の2行の文字データを読み取る方法
ファイル構造が 1E1F 0309 luan7 8 zao
であると仮定します。2E2F 1518
###始める###12 39692
12 39712
9 39724
###終わり### ###始める###14 39692
8 39724
###終わり###ルアン7 8ザオ
チーチーグアイグアイ
###始める###312 39692
142 39712
95 39724
###終わり###開始データと終了データの複数のセグメントが含まれています
#含める #含める
###主要( ) {###ファイル*fin;
int a[1000],b[1000],n=0,i;
文字 1 行[80];
fin=fopen("abc.txt","r");
if (fin==NULL){printf("ファイルオープンエラー\n");return 0;}
Lab1:while(1){
if ( fgets(one_line,80,fin)==NULL){
printf("資金をこれ以上開始できません\n");ラボ 2 に進みます;}
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 ;
}
ラボ 1 に移動;
ラボ 2: fclose(fin);
printf("読んだ:\n");for (i=0;ireturn 0;
}
C言語のtxtからデータが抽出されセミコロンで区切られている場合の対処方法
fgets はデータの各行を読み取り、strchr を使用してセミコロン; が出現する位置を見つけ、対応する変換を実行します。
これは指定した文字列を読み込むために書いた例ですので、これを参考に改変してください 文字列を浮動小数点数に変換する関数 atof
####含む ###### ####含む #######N 10
を定義int readstr(const char* str,char p[][128],int plen,int savepos);
int main()
{
文字日付[N][128]={0};
int len=readstr(str,date,N,0);
for (int i=0;i
}
0を返す;
}
int readstr(const char* str,char p[][128],int plen,int savepos)
{
if(plen
{
printf ("配列が小さすぎるため、保存場所を変更してください!"); 0を返す; } 静的 int len=0; char *find=strchr(str,';'); if(find==NULL) { strcpy(p[savepos],str); レン ;
戻り長さ; } { strncpy(p[savepos],str,find-str); レン ; readstr(find 1,p,N,len); } 戻り長さ; } C言語で指定した文字列の次の行のデータをtxtから読み取る方法 fgets を使用して行を読み取り、sscanf を使用してデータの最初の列を読み取ります 以下では、データの最初の列が文字列として使用され、sscanf(buf,"%s",... format. 同様に、整数には %d を使用し、浮動小数点には %f を使用します。.... char buf[100]; 文字列[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("%s\n",col[n]); n ; }; } } 各行の最初の数字を読み取りたい場合は、(フォーマットを使用して 1 桁だけを読み取ります): int x[100]; ...
0を返す;
以上がC言語でTXTドキュメントの開始と終了の間の2行の文字データを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。