您好,登錄后才能下訂單哦!
有一些,經(jīng)典的對(duì)文件的操作。
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);//將一個(gè)字符串指針的內(nèi)容存儲(chǔ)到一個(gè)字符數(shù)組中
name = strtok(NULL, " ,");
strcpy(n->Name, name);
a = strtok(NULL, " ,");
n->age = atoi(a);//轉(zhuǎn)換字符型為×××
n->Next = NULL;///你個(gè)×××,你不看看到底實(shí)際空間是誰的。?。。。。∵@個(gè)一定要設(shè)置,否則判斷最后是否為空沒法判斷!??!
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 ) //如果沒加上這個(gè)節(jié)點(diǎn)。
{
fprintf ( stderr, "Error adding node. Aborting\n" );
exit ( EXIT_FAILURE );
}
}
while (scanf("%s", cmd) != EOF){
if (cmd[0] == 'H' || cmd[0] == 'h')
{
printf("例如:\n 查找第一個(gè)結(jié)點(diǎn):P0\n 刪除第一個(gè)節(jié)點(diǎn):D0\n 在位置一處插入節(jié)點(diǎn):I1 SA17225130 馬云 34 退出程序:q|Q\n\n");
}
else if (cmd[0] == 'P'){
int n = atoi(strdup(cmd + 1));//將cmd[1]以及后面所有字符串提取出來轉(zhuǎn)成×××
ShowOneNode(n++);//展示需要的那個(gè)結(jié)點(diǎn)
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。