c - 如何从整数之前的文件中读取字符串
问题描述
我有这个文本文件:
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 开始)
推荐阅读
- javascript - 将存储在 GCSQL 中的 SVG 图像作为 blob 转换为 Apps 脚本中的字符串
- c# - 在一个更大的矩形内绘制/删除许多矩形
- mongodb - 参考文献中的混合类型
- javascript - 切换“更多/更少”文本并仅显示单击的元素
- java - spark elasticsearch:在类路径中检测到多个 ES-Hadoop 版本
- node.js - JSForce 原型不工作
- lambda - 如何将以下代码转换为 Java 8
- maven - 如何在单个父模块下组合单独的 Maven 模块?
- c# - 如何以正确的方式在 Firebase 查询中加入结果
- macos - 对于 Mac - 如何将文件重命名为文件夹名称加上一个数字,从而使文件按顺序排列