回答
這裏是做這件事的一種方式......
// SO2913562.cpp
//
#include <iostream>
#include <sstream>
using namespace std;
void getHeadWords(const char *input[]
, unsigned numStrings
, char *outBuf
, unsigned outBufSize)
{
string outStr = "";
for(unsigned i = 0; i<numStrings; i++)
{
stringstream ss(stringstream::in|stringstream::out);
ss<<input[i];
string word;
ss>>word;
outStr += word;
if(i < numStrings-1)
outStr += " ";
}
if(outBufSize < outStr.size() + 1)//Accomodate the null terminator.
//strncpy omits the null terminator if outStr is of the exact same
//length as outBufSize
throw out_of_range("Output buffer too small");
strncpy(outBuf, outStr.c_str(), outBufSize);
}
int main()
{
const char *lines[] = {
"first sentence"
, "second sentence"
, "third sentence"
};
char outBuf[1024];
getHeadWords(lines, _countof(lines), outBuf, sizeof(outBuf));
cout<<outBuf<<endl;
return 0;
}
但要注意上面的代碼有邊際錯誤檢查和可能存在安全漏洞。不用說我的C++是有點生疏了。章EERS。
你正在使用什麼編譯器? 轉換爲chararray是首先要尋找的東西。
之後做到這一點,你可以很容易地通過你的排列工序(並尋找空格) 是這樣的:
while (oldarray[i++] != ' ')
yournewarray[j++];
我想你得弄清楚其餘的自己,因爲這看起來像一些功課學校:)
爲什麼他會將'std :: string'轉換爲'char *',這樣他就可以在使用'str.find()'的時候手動執行它了? – 2010-05-26 14:00:44
沒有進入C++多,普通C更多。 我真的不知道庫函數這些天像str.find() 我想編譯時,機器可能會做同樣的事情。順便說一句:老師喜歡手動提高圖書館功能,以便做家庭作業;) – SirLenz0rlot 2010-05-26 14:24:38
假設這是家庭作業,而當你說「弦」你的意思的char
(而不是std::string
)簡單的空分隔陣列:
define your strings
define your resulting char array
for each string
find the offset of the first char that is not in the first word
append that many bytes of the string to the result array
如果這不是家庭作業,請給我們一些小小的代碼,我們將填寫空白。
我會以爲這是功課,所以這裏是一個概述:
首先,你需要在你的字符數組分配足夠的空間。在作業中,你通常會被告知最大尺寸。對於所有的第一句話來說,這個最大值已經足夠了。
現在,您需要爲該數組中的插入點設置索引。從零開始。
現在仔細檢查您的字符串。在每一種情況下,從0向前移動一個索引,直到看到一個\ 0或一個空格(或其他分隔符)。將該字符插入結果數組中的插入點,並將該索引增加1.
如果遇到如果你在最後一個字符串上,在插入點插入一個\ 0,並且你完成了,如果沒有,插入一個空格並移動到下一個字符串。
- 1. 如何從jquery中的字符串獲取第一個和第二個單詞?
- 2. 獲取每個單詞的第一個字符的字符串
- 3. 從字符串數組中獲取第一個字符串c
- 4. 如何獲取字符串中的第二個單詞?
- 5. 如何獲取字符串中的第二個單詞?
- 6. 如何才能使用javascript從字符串中獲取第一個單詞?
- 7. 從一個字符串獲取幾個子字符串
- 8. 如何從字符串中刪除第一個單詞?
- 9. 獲取sqlite3字符串中每個單詞的第一個字符
- 10. 從字符串中只讀取sscanf的第一個單詞?
- 11. 從句子字符串中提取每個單詞的第一個字符
- 12. 如何從一個字符串開始獲取單詞和單詞組?
- 13. 從一個單詞字符串中提取一個數字
- 14. 獲取第一個詞串
- 15. 如何提取字符串後面的第一個單詞?
- 16. 如何獲取字符串中的下一個單詞?
- 17. C#:如何獲得一個字符串的第一個字符?
- 18. 如何從VBA(Excel)中的字符串中提取第一個單詞?
- 19. 使用Javascript獲取字符串中每個單詞的第一個字母
- 20. 如何從單個字符串獲取第二個標記?
- 21. 返回字符串中每個單詞的第一個字符
- 22. 如何從一個拆分字符串中提取單詞
- 23. 從PHP中的第二個單詞獲取第一個單詞和兩個字符?
- 24. 如何從bash列表中獲取第一個字符串?
- 25. 如何獲取字符串的最後一個單詞?
- 26. 如何從字符串中獲取第一個Y後的X個字符
- 27. 從Java中的字符串中移除第一個單詞
- 28. 從字符串中提取單個單詞C++
- 29. 如何從字符串中獲取第2個和第4個字符
- 30. 如何獲取SQL中的字符串的第一個字符?
如果這是功課,請標記它。 – egrunin 2010-05-26 13:55:11
你試過了嗎?發佈你嘗試過的代碼不工作,我們可以幫助調試它 – 2010-05-26 13:59:33
你可以通過首先閱讀一些C++教程來實現。 – 2010-05-26 14:04:00