在c语言中,有没有办法从包含其他信息的文本文件中读取全名?
实际上,我正试图用C文件管理解决一个问题,我必须读取一个文本文件,其中给出了多个学生的一些数据。问题在于他们的名字。我想我可以用名字和姓氏来解决这个问题,但后来我发现有些名字是两个以上的单词。那么他们有办法解决全名问题吗 文本文件为txt格式在c语言中,有没有办法从包含其他信息的文本文件中读取全名?,c,C,实际上,我正试图用C文件管理解决一个问题,我必须读取一个文本文件,其中给出了多个学生的一些数据。问题在于他们的名字。我想我可以用名字和姓氏来解决这个问题,但后来我发现有些名字是两个以上的单词。那么他们有办法解决全名问题吗 文本文件为txt格式 1. 1330273 Sajjad Kashem 1 0 1 0 0 1 1 1 0 2. 1520297 A. S. M. Irfan 0 0 0 1 1 0 1 1 1 如果名称后的下一个字符是0或1,可以尝试以下方法: sscanf(行“%d.%d
1. 1330273 Sajjad Kashem 1 0 1 0 0 1 1 1 0
2. 1520297 A. S. M. Irfan 0 0 0 1 1 0 1 1 1
如果名称后的下一个字符是0或1,可以尝试以下方法:
sscanf(行“%d.%d%[^01]%d%d%d%d%d%d%d”、&a、&b、名称、&c、&d、&e、&f…”;
不要忘记去掉
名称
:最后一个字符可以是空格。如果名称后面的下一个字符是0或1,您可以尝试以下方法:
sscanf(行“%d.%d%[^01]%d%d%d%d%d%d%d”、&a、&b、名称、&c、&d、&e、&f…”;
别忘了去掉
名称
:最后一个字符可以是空格。你可以发布你已经尝试过的内容吗?从你问题中的示例数据来看,文本文件中的每一行似乎都有相同的结构,也就是说,数字后跟一个点,后跟一个空格,数字后跟一个空格,全名后跟一个空格,最后是一系列九位二进制数字,其中每个数字由一个空格分隔。使用函数fscanf()
似乎很简单,您可以发布您已经尝试过的内容吗?从您问题中的示例数据来看,文本文件中的每一行似乎都具有相同的结构,也就是说,数字后跟一个点,后跟一个空格,数字后跟一个空格,全名后跟一个空格,最后是一系列九位二进制数字,其中每个数字由一个空格分隔。使用函数fscanf()
似乎很简单,但它停止循环,只显示一个学生的数据,我指的是相同的数据。比如1。1330273 Sajjad Kashem 10101。1330273 Sajjad Kashem 1 0 1 0 0 1 1 0
是的,这是个问题。您可以像描述的那样逐行读取文件,然后使用sscanf
而不是带有类似签名的fscanf
。但它会停止循环,只显示一个学生的数据,我指的是相同的数据。比如1。1330273 Sajjad Kashem 10101。1330273 Sajjad Kashem 1 0 1 0 0 1 1 0
是的,这是个问题。您可以像描述的那样逐行读取文件,然后使用sscanf
而不是具有类似签名的fscanf
。