[英]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.