2014-06-13 140 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

相关问题