用c语言对文件读取,并使用链表,和顺序表进行存储,操作
有一些,经典的对文件的操作。
沾益网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
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++);//展示需要的那个结点
}
当前标题:用c语言对文件读取,并使用链表,和顺序表进行存储,操作
文章URL:http://myzitong.com/article/gpooop.html