Re: [問題] C語言的字串有辦法轉成一個個陣列嗎??

看板C_and_CPP作者 (kevinOGC)時間12年前 (2012/01/24 21:41), 編輯推噓1(1014)
留言15則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《www85109 (Destiny)》之銘言: : 原PO現在正在做資節作業 : 遇到一些問題 : 老師給了一個txt檔 : 裡面有學生姓名 分數 : 格式類是於 John 70 : Steve 80 : Ivan 90.... : 讀檔結束後 : 最後輸出是要由分數高低依序輸出學生姓名跟分數 : 所以原PO想問 : C語言有辦法把學生姓名(String)丟到一個陣列裡 : 比如說name[1]=John : name[2]=Steve : name[3]=Ivan 這樣嗎?? : 有請板上的神人們幫小弟解答 : 謝謝 Dynamic version: int arraySize = 10; char** arrayPointer = (char**) malloc( arraySize * sizeof( char* ) ); arrayPointer[0] = "Jason"; Static version: int arraySize = 10; char* arrayPointer[ arraySize ]; arrayPointer[0] = "Jason"; 關鍵是建立一個指向字串指標的陣列。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.168.219.253 ※ 編輯: kevinend51 來自: 218.168.219.253 (01/24 21:42) ※ 編輯: kevinend51 來自: 218.168.219.253 (01/24 21:44)

01/24 21:45, , 1F
果然用C++還是快多了...@_@
01/24 21:45, 1F

01/24 22:31, , 2F
C++用std::string可以省很多事啊...XD
01/24 22:31, 2F

01/24 23:02, , 3F
vector<pair<string,int>>然後用sort
01/24 23:02, 3F

01/24 23:06, , 4F
這個 static version 似乎也不是純 static ...
01/24 23:06, 4F

01/24 23:27, , 5F
static版本用到了VLA耶,C++支援了嗎?
01/24 23:27, 5F

01/24 23:29, , 6F
那是static沒錯啊,pointer to array
01/24 23:29, 6F

01/24 23:30, , 7F
我指的是那個[ arraySize ]
01/24 23:30, 7F

01/24 23:50, , 8F
http://ppt.cc/gcXX VLA是c99標準
01/24 23:50, 8F

01/24 23:51, , 9F

01/24 23:51, , 10F
不過我覺得還是加上const比較好= =
01/24 23:51, 10F

01/24 23:56, , 11F
大家還是時常關注此版,感覺最近幾個禮拜po文較少了
01/24 23:56, 11F

01/25 00:15, , 12F
我知道C99標準,但在C++看到VLA就會覺得怪怪的...
01/25 00:15, 12F

01/25 00:28, , 13F
真的- -...還是習慣用vector或new...
01/25 00:28, 13F

01/25 21:27, , 14F
他再問C,所以我就沒考慮到C++囉XD
01/25 21:27, 14F

01/25 22:05, , 15F
…我現在才發現原po並沒有用到C++,是我誤會大了 XDDD
01/25 22:05, 15F
文章代碼(AID): #1F7hKLWX (C_and_CPP)
文章代碼(AID): #1F7hKLWX (C_and_CPP)