我正在从fscanf()读取文件中的一组数字,我想将它放入数组中。问题是,数字之间用“,”隔开,如何确定fscanf应该读取多个密码,并在文件中找到“,”时,它会将其保存为整数?谢谢- 如何确定逗号?
回答
这可能是一个开始:
#include <stdio.h>
int main() {
int i = 0;
FILE *fin = fopen("test.txt", "r");
while (fscanf(fin, "%i,", &i) > 0)
printf("%i\n", i);
fclose(fin);
return 0;
}
有了这个输入文件:
1,2,3,4,5,6,
7,8,9,10,11,12,13,
...的输出是这样的:
1
2
3
4
5
6
7
8
9
10
11
12
13
你究竟想干什么?
谢谢,我已经尝试过了,但没有成功。我正在为一些计算填充内部矩阵 - 请参阅我的编辑 – Waypoint 2011-03-30 16:26:16
我在ProjectEuler问题(即不同的输入)上尝试了此操作。令人惊讶的是,即使每行的最后一个字符不是逗号,这似乎仍然有效。 – ComputerScientist 2016-12-29 04:56:51
fscanf(file, "%d,%d,%d,%d", &n1, &n2, &n3, &n4);
但如果数字之间有空格将无法工作。 This answer展示了如何做到这一点(因为有没有库函数本)
只要'n1','n2' ...是指向'int'的指针,当然... – thkala 2011-03-30 16:24:54
我可能会使用类似:
while (fscanf(file, "%d%*[, \t\n]", &numbers[i++]))
;
的%d转换一个数字,而 “%* [,\ t \ n]” 读取(但不分配)的任何连续运行分隔符 - 我将它们定义为逗号,空格,制表符,换行符,尽管对于您认为合适的任何内容进行更改都相当简单。
+1代码虽然很棒,但是因为看起来他开始使用它可能没有什么帮助,除了能够复制它。 – 2011-03-30 16:54:21
- 1. 如何向逗号中添加逗号?
- 2. 如何在逗号中输入逗号?
- 3. 如何用逗号
- 4. 如何正确使用两个数据字段逗号隔开逗号?
- 5. 添加正确的号码逗号
- 6. R:如何根据逗号
- 7. VIM如何逗号对齐
- 8. 如何在Javascript ESCAPE “逗号”
- 9. Mongoimport:CSV中的逗号逗号
- 10. 如何删除逗号和括号
- 11. 如何获得用逗号分隔的逗号值?
- 12. 如何在逗号分隔文件中插入逗号
- 13. 如何拆分逗号线,却忽略逗号
- 14. 如何在读取数据时用逗号分隔逗号android
- 15. 如何在逗号分隔文件中显示逗号
- 16. 如何正确确定版本号?
- 17. 定义逗号运算符,如javascript
- 18. 如何确保没有过多的逗号
- 19. 用逗号替换逗号,然后加逗号
- 20. 确保条目是逗号分隔
- 21. 我如何用逗号在逗号中填入y列号格式?
- 22. 逗号逗号分隔值在Oracle中
- 23. 变化逗号点到逗号
- 24. Escape快速逗号逗号值
- 25. 在Textmate中用逗号替换逗号
- 26. CSV文件中的逗号逗号
- 27. 逗号分隔文件是如何工作的? ...如果文本中有逗号
- 28. 意义方括号的时候没有逗号确定的行或列
- 29. 在逗号后加上逗号,如果需要在JS中
- 30. 如何确定符号路径的值
请提供一些示例输入并解释您希望如何解析它以及结果应该如何。 – 2011-03-30 16:18:41
只需在fscanf格式字符串中添加',',就像我在答案中所做的一样。例如。使用'“%f”,而不是'“%f”'。很多人需要为每行的最后一个数字使用一个单独的格式字符串,以避免不得不使用',' – thkala 2011-03-30 16:27:55
终止行。它适用于我,对于每行的最后一行没有单独的格式,只需用逗号分隔并使用“% f,“太好了,非常感谢 – Waypoint 2011-03-30 16:33:58