【问题标题】:Scan file and store contents in an array in C programming在 C 编程中扫描文件并将内容存储在数组中
【发布时间】:2018-04-21 21:26:21
【问题描述】:

我有一个包含以下内容的文件:

S3 83
S74 2984
S8 12
... and so on for x # of values

第一个值告诉您要存储的空间,第二个数字告诉您内容。

例如:

我想读取文件并将“83”存储在数组的空间 3 中。 然后将“2984”存储在数组的 74 空间中。然后在数组的空间 8 中为“12”。

如何读取文件并忽略前面的“S”并将其与其内容一起存储在数组中的那个空间中?

谢谢。

【问题讨论】:

标签: c arrays file


【解决方案1】:

我从这里得到了 2 个解决方案:

1-fscanf() 因为你可以做以下

fscanf(fp, "S%d %d",&slot, &val);

应该这样做,它会跳过 'S' 并取值

2-fgetc()

你可以用fgetc()扔掉文件,每次你发现'S'忽略它并在它之后开始提取数据

我更喜欢第一个解决方案 ,我建议阅读fscanf()fgetc()

https://www.tutorialspoint.com/c_standard_library/c_function_fgetc.htm https://www.tutorialspoint.com/c_standard_library/c_function_fscanf.htm

【讨论】:

  • OP 需要一些关于“字符串”、甚至数字字符串、“12”和整数(例如 12)之间区别的指导。我不清楚 OP 是否要转换为整数或不是。
  • 我也是,但信息有限。 ,我想我的回答可能会对他有所帮助,否则如果他向我们提供更多信息。我也很乐意编辑我的答案。
  • 是的,12 是一个整数。
  • 嗯,我觉得这个答案适合你的问题,如果你觉得有用,你可以标记它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多