在C编程中扫描文件并将内容存储在数组中
我有一个包含以下内容的文件:在C编程中扫描文件并将内容存储在数组中,c,arrays,file,C,Arrays,File,我有一个包含以下内容的文件: S3 83 S74 2984 S8 12 ... and so on for x # of values 第一个值告诉您要存储哪个空间,第二个数字告诉您内容 例如: 我想读取文件并将“83”存储在数组的空间3中。 然后将“2984”存储在数组的空间74中。然后在数组的空间8中输入“12” 如何读取文件并忽略前面的“S”,并将其与内容一起存储在数组中的该空间中 谢谢。我从这里得到了两个解决方案: 1-fscanf(): 因为你可以做到以下几点 fscanf(fp,
S3 83
S74 2984
S8 12
... and so on for x # of values
第一个值告诉您要存储哪个空间,第二个数字告诉您内容
例如:
我想读取文件并将“83”存储在数组的空间3中。
然后将“2984”存储在数组的空间74中。然后在数组的空间8中输入“12”
如何读取文件并忽略前面的“S”,并将其与内容一起存储在数组中的该空间中
谢谢。我从这里得到了两个解决方案: 1-
fscanf()
:
因为你可以做到以下几点
fscanf(fp, "S%d %d",&slot, &val);
如果这样做,它将跳过'S',并获取值
2-fgetc()
:
只需使用fgetc()
抛出文件,每次找到'S'时,忽略它并在它之后开始提取数据
我喜欢第一种解决方案
,我建议阅读有关fscanf()
,fgetc()
请参阅:您可能应该使用POSIX或POSIX读取行,然后使用进行处理。跳过
S
是微不足道的;使用scanf()
等工具要求它和数字之间没有空格会更难。使用、读取和。我们说的是什么样的阵列?Int、float、char?OP需要一些关于“字符串”、甚至数字字符串、“12”和整数(如12)之间差异的指导。我不清楚OP是否要转换为整数。我也是,但信息有限,我想我的回答可能对他有帮助,否则如果他向我们提供更多信息。我也很乐意编辑我的答案。是的,12是一个整数。我认为这个答案适合你的问题,如果你觉得有用的话,你可以标记它。