2 eceilx Eceilx 于 2016.09.11 14:58 提问

c++按格式读取文件的问题

格式如下:
Staff//这是一行
Manager//这是第二行
.......

如何写一个函数,分别将Staff,2015,张三,19这样的四个属性解析出来?
我试过用fscanf函数,是这样写的:
fscanf(file, "%s<%s,%s,%s>\n", tag, year, name, age);
外面套了个循环

但是跑出来全是“烫烫烫....”,似乎是尖括号的问题?

1个回答

hijack00
hijack00   Rxr 2016.09.11 16:47

你对文件格式描述不是很清楚。这四个属性是每个占一行?还有,这四个属性分别是什么类型的?中间有没有都好或者空格之类的分隔符?
看你的代码全部当成字符串读入的,那你还不如直接适用fgets

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Python按特定格式实现文件读写
#! /usr/bin/env python #coding=utf-8class ResultFile(object): def __init__(self, res): self.res = res def WriteFile(self): fp = open('pre_result.txt', 'w') print 'write st
c程序按行读取文件
#include #include #include #define FNAME "./xeyez.txt" #define MAXSIZE 1024 int iCaltall; int icount; int savetokey(char *buf, char *buftime, char *bufindex) {  //printf(".......222222\n")
C语言fgets函数按行读取文件
fgets, fgetws Get a string from a stream.C语言没有像C++、Python语言的getline()函数,无法读取文件的某一行。然而,C语言有fgets()函数,该函数返回string类型,关键是该函数遇到换行符或EOF,则读取结束。利用这一特点,我们可以设置n为适当的缓冲区大小,即可以实现按行读取。 char *fgets( char *string
用标准C++读取固定格式的文本文件
文件格式:1,tlj,1,20,21,302,cw,31,403,ss,41,50,51,604,sw,61,70相关代码://---------------------------------------------------------------------------#include #include #include #include #include #include
C语言对文件的内容进行逆序读出(有问题)
//对文件的内容进行逆序读出 # include&amp;lt;stdio.h&amp;gt; #include&amp;lt;io.h&amp;gt; void main() { FILE*fp; char ch; // clrscr(); system(&quot;cls&quot;); fflush(stdin); if((fp=fopen(&quot;awe.txt&quot;,&quot;r&quot;))==NULL) ...
按行读取文件 并按分隔符解析字符串
本文由 代码助手软件 整理发布 内容与本软件无关 更惬意的读、更舒心的写、更轻松的发布 1 文件保存 第十一回 ??高塔入云盟九鼎????快招如电显双鹰|173639                 CFile file;                                  CreatePathFolder(path);       
c读取按行读取文件
c中没有getline()这个函数,该函数只存在于c++中。 有些人说用gets,但是这个函数是不安全的,gets不知道字符串的大小,容易造成溢出的问题。 解决方案,使用fgets函数 其关键在于在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束。因此,通过设置适当大小的缓冲区,即可实现读取一行的功能。 #include "stdio.h" int main(int argc
C语言之按行读取文件
原文本文件outlook,temperature,humidity,windy,play sunny,hot,high,FALSE,no sunny,hot,high,TRUE,no overcast,hot,high,FALSE,yes rainy,mild,high,FALSE,yes rainy,cool,normal,FALSE,yes rainy,cool,normal,TRUE,no o
java 按顺序读取文件
java 按顺序读取文件 java 按顺序读取文件 java 按顺序读取文件
c语言一整行一整行读取文件
/* * fileTest.c * * Created on: 2013-3-11 * Author: ken * goal: * char *fgets(char *s, int n, FILE *stream); 从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。 */ #inclu