簡體   English   中英

如何從整數之前的文件中讀取字符串

[英]How can i read a string from a file which is before a integer

我有這個文本文件:

2 6
99 100 14 15 1 4 29 43 15 15
31 24 2 0 2 0 2 0 12 12
1 5 2 6 3 50 2 0 1 100
31 24 2 0 2 0 2 0 12 12
99 100 14 15 1 4 29 43 15 15
Lucky 0 0 100 100
James 2 0 100 100
Jerry 2 4 100 100
Cristofor 0 2 100 100
Chris 2 3 100 100
Miclaus 2 1 100 100

我想以多種結構讀取所有數據。 這是我的代碼:我閱讀了前 6 行,我想閱讀接下來的 6 行並將每個單詞放入變量中。 我不知道如何讀取該字符串。

void citireDate(){
char c;
FILE *f;
f = fopen("nume.in","r");
fscanf(f,"%d", &R);
fscanf(f,"%d", &P);
for(int i=1;i <= 2*R+1 ; i++)
    for(int j=1;j <= 2*R+1; j++){
        fscanf(f,"%d",&ghetar[i][j].inaltime);
        fscanf(f,"%d",&ghetar[i][j].manusi);
}

for(int i=1;i<=6;i++){

//here i have to read that string
    fscanf(f,"%d",&spiridusi[i].x);
    fscanf(f,"%d",&spiridusi[i].y);
    fscanf(f,"%d",&spiridusi[i].hp);
    fscanf(f,"%d",&spiridusi[i].stamina);

}


fclose(f);
}

我怎樣才能讀取那個字符串?

只需讀取一個fscanf(f, "%s %d %d %d %d\\n", ...);

for(int i=1;i<=6;i++) {
  fscanf(f, "%s %d %d %d %d\n",
         &spiridusi[i].?????,
         &spiridusi[i].x,
         &spiridusi[i].y,
         &spiridusi[i].hp,
         &spiridusi[i].stamina);
}

或者當然我想在 4 個整數之前的字符串中沒有空格

奇怪的是,第一個索引總是 1,我認為它們在所有for中都必須是 0(除非你有充分的理由從 1 開始)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM