有一些,<强>经典的对文件的操作。强>
,//获取文件的指针
,,如果(鳍==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 + +);//展示需要的那个结点
}