2014-06-13 138 views
-1

我正在與C玩弄。我的程序會提示用戶輸入他們想要定義的單詞。然後我的程序使用CURL和字典API來返回定義。我的問題是定義格式不正確,所以我想這樣做。這導致我的問題。用C替換另一個字母C

我需要大寫句子的第一個單詞。該定義採用char *格式。我不確定使用哪個C字符串函數。

我到目前爲止所做的是將定義的第一個字符複製到它自己的char變量中。然後使用toupper()將其轉換爲大寫。我不知道如何用新的大寫字母替換定義字符串中的小寫字母。

下面是一些代碼。

char upperCase; 

strncpy(&upperCase, r, 1); //copy first char of definition to upperCase (to be converted to uppercase) 

printf("%c\n", toupper(upperCase)); //just prints the uppercase letter to make sure it works 


printf("%s\n", r); //print the definition 

r是定義的字符串。

+0

爲什麼不顯示你到目前爲止的代碼? –

+0

http://stackoverflow.com/a/20036880/1067211 – Avery

+2

歡迎來到SO。請閱讀[問]如何撰寫適當的問題。這樣你會得到更好的迴應。 – OldProgrammer

回答

3

您可以在字符串中的字符直接工作:

r[0] = toupper(r[0]); 

你可以做到這一點,因爲表達式r[0]char類型。還要注意,你可以在指針上使用數組語法。如果rchar*,那麼您仍然可以將其視爲數組,並使用r[index]參考其個人char內容。第一個字符爲r[0],第二個爲r[1],依此類推。

+0

你的答案可能會讓新手感到困惑。也許'char str [100]'或者更好的東西。如果他從字面上理解代碼,新手可能會開始抱怨分割錯誤。 –

+0

@FiddlingBits OP現在發佈了一些代碼,所以這使得事情變得更簡單:-) –

+0

非常感謝Nikos,它完美的工作。 – MortalMan

相關問題