乍一看,这可能看起来是一个愚蠢的问题,但我真的被困住了,而且很着急...... 我有一个文件,计算文件中存储的 X 个数字。 我可以用这种方式存储文件中的数字
22 56 102 9 302
在一个行中,每个数字之间有一个空格。
或者我可以用这种方式将它们储存在一个克隆中
22
56
102
9
302
无论哪种方式,我都找不到一种简单的方法来检索这些号码并将它们存储在表中以供以后使用。因为问题之一是我不知道每个数字中有多少位(只能是一位数甚至 5 位),所以我无法使用 sscanf
。
那么你们中的任何人都可以帮助我如何将这些数字添加到表中(无论是单行中的数字还是单冒号中的数字,哪个都很简单)。 (C语言)
(如果这个问题看起来有点愚蠢,我真的很抱歉,但我真的很着急)
editt::文件中的数字数量非常多
编辑2: 这就是我试图做的(如果数字在一个冒号中)
int i=0,k;
char buffer[500];
fd=fopen("Fdonne.txt", "r"); //fd global variable
fgets(buffer,300, fd);
while(feof(fd) == 0)
{
sscanf(buffer,"%d",tb[i]); //tb already declared also
i++;
fgets(buffer,300, fd);
}
for (k=0; k<(count+1); k++) // count is my X here
printf("%d ",tb[k]);
这似乎是最合乎逻辑的事情,但是,通过 ligne 读取 ligne 并使用 sscanf 但 smh 当我运行程序时没有显示任何内容(所以某处存在问题)
最佳答案
如果我理解正确的话,您想要获取数字,您可以在string.Split
和Linq的帮助下完成:
int[] numbers = File
.ReadLines(@"c:\MyFile.txt")
.SelectMany(line => line.Split(
new char[] { ' ', '\t', '\r', '\n' },
StringSplitOptions.RemoveEmptyEntries))
.Select(item => int.Parse(item))
.ToArray();
如果想将数字存储在文件中:
File
.WriteAllLines(@"c:\SomeOtherFile.txt", numbers);
关于c - 我如何从文件中读取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59469086/