从C语言中的字符串读入数据(如scanf)

从C语言中的字符串读入数据(如scanf),c,scanf,C,Scanf,我已经读入并存储了一个我正在处理的数据文件,并将其存储到一个字符数组数组中,文件中的每一行对应一个字符数组,现在我想处理单独的行。然而,我不知道如何做到这一点 我是这样读每一行的: /* Read the whole file into an array */ char read_lines[FILE_LENGTH][FILE_WIDTH]; for(i=0;i<FILE_LENGTH;i++) { fscanf(data_file, "%[^\n]", read_lines[i]

我已经读入并存储了一个我正在处理的数据文件,并将其存储到一个字符数组数组中,文件中的每一行对应一个字符数组,现在我想处理单独的行。然而,我不知道如何做到这一点

我是这样读每一行的:

/* Read the whole file into an array */
char read_lines[FILE_LENGTH][FILE_WIDTH];
for(i=0;i<FILE_LENGTH;i++) {
    fscanf(data_file, "%[^\n]", read_lines[i]);
    fscanf(data_file, "%[\n]", dump);
}
我真的看不出如何在C语言中实现等效。我做了相当多的研究,但找不到任何有用的东西。任何帮助都将不胜感激

谢谢

也许可以退房。它就像它的表兄scanf和fscanf一样,但它使用了一个字符串。这是上面链接的一个剪报

sscanf函数接受从中读取输入的字符串,然后以类似于printf和相关函数的方式,它接受模板字符串和一系列相关参数。它尝试使用转换说明符(如printf的转换说明符)将模板字符串与从中读取输入的字符串相匹配


您可以使用strtok函数[读取手册页]拆分字符串


e、 g.

啊!非常感谢,在我的搜索中似乎没有出现sscanf,这正是我需要的。谢谢,这非常有用,我将来可能会使用它,但我认为在C中使用sscanf()可能是一个更简单的选项,而在python中我选择使用split(),因为它是一个更简单的选择。@Durand你可以在python中做类似的事情——还有,您提供的python代码不会自动将字段解释为整数是的,您需要使用:第一[i],第二[i],第三[i],第四[i],第五[i]=[int(i)表示in-line.split('\t')]
read_lines = open('file.txt').readlines()
for line in lines:
    i = lines.index(line)
    first[i], second[i], third[i], forth[i], fifth[i] = line.split('\t')