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

标签:链表

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

fin = fopen ( argv[1], "rt" );//获取文件的指针

if ( fin == NULL )//判断是否为空

{

fprintf ( stderr, "Cannot open/find %s\n", argv[2] );

exit ( EXIT_FAILURE );

}

/* Create and initialize the linked list to empty */

CreateList();

/*--- main loop ---*/

while ( ! feof ( fin ))//判读文件是否读完

{

/* read a record consisting of a line of text */

if ( fgets ( buffer, 127, fin ) == NULL )

break;

char *p;

char *name;

char* a;

p = strtok(buffer, " ,");//截取字符串,成一段一段的。

strcpy(n->StuId, p);//将一个字符串指针的内容存储到一个字符数组中

name = strtok(NULL, " ,");

strcpy(n->Name, name);

a = strtok(NULL, " ,");

n->age = atoi(a);//转换字符型为整形

n->Next = NULL;///你个傻逼,你不看看到底实际空间是谁的。!!!!!这个一定要设置,否则判断最后是否为空没法判断!!!

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

printf("%20s,%10s,%d\n",n->StuId, n->Name, n->age);

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

/* add the node to the list */

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

{

fprintf ( stderr, "Error adding node. Aborting\n" );

exit ( EXIT_FAILURE );

}

}

while (scanf("%s", cmd) != EOF){

if (cmd[0] == ‘H‘ || cmd[0] == ‘h‘)

{

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

}

else if (cmd[0] == ‘P‘){

int n = atoi(strdup(cmd + 1));//将cmd[1]以及后面所有字符串提取出来转成整形

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

}

标签:链表

原文:http://ji123.blog.51cto.com/11333309/1975538

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值