用c语言对文件读取,并使用链表,和顺序表进行存储,操作

  

有一些,<强>经典的对文件的操作。

,//获取文件的指针

,,如果(鳍==NULL)//判断是否为空

,,{

,,,,流(stderr,“不能打开/找到% s \ n”, argv [2]);

,,,,退出(EXIT_FAILURE);

,,}


,,/*创建和初始化链表为空*/

,,CreateList ();

,,/*——主循环——*/

,,//判读文件是否读完

,,{

,,,,/*读取记录组成的一行文本*/

,,,,如果(fgets(缓冲区,127,鳍)==NULL)

,,,,,,打破;

char * p;

char *名称;

char *; p=

<强>拷贝字符串(n→StuId, p);

名称=strtok (NULL, ", ");

拷贝字符串(n→名称,名称);

=strtok (NULL, ", ");

n→年龄=;//转换字符型为×××


n→下=零;///你个×××,你不看看到底实际空间是谁的! ! ! ! !这个一定要设置,否则判断最后是否为空没法判断! ! !


printf ("===============================\ n”);

printf (" % 10 s % 20年代,% d \ n, n→StuId, n→名称、n→年龄);

printf ("===============================\ n”);

,,,,/*将节点添加到列表*/

,,,,如果(AddNodeAscend (n)==0)//如果没加上这个节点。

,,,,{

,,,,,,流(stderr,“错误添加节点。流产\ n”);

,,,,,,退出(EXIT_FAILURE);

,,,,}


,,}



, (scanf (“% s”, cmd) !=EOF) {

如果(cmd [0]==' H ' | | cmd [0]==' H ')

{

printf("例如:\ n,查找第一个结点:P0 \ n,删除第一个节点:D0 \ n,在位置一处插入节点:I1 SA17225130马云34退出程序:q | q \ n \ n”);}

else if (cmd [0]==皃”) {

int n=atoi ();

ShowOneNode (n + +);//展示需要的那个结点

}


  附件:http://down.51cto.com/data/2368685

用c语言对文件读取,并使用链表,和顺序表进行存储,操作