【发布时间】:2014-06-13 14:10:08
【问题描述】:
我为了好玩而玩弄 C。我的程序提示用户输入他们想要定义的单词。然后我的程序使用 CURL 和一个字典 API 来返回定义。我的问题是定义的格式不正确,所以我想这样做。这就引出了我的问题。
我需要将句子的第一个单词大写。定义为 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 是带有定义的字符串。
【问题讨论】:
-
为什么不显示你目前得到的代码?
-
欢迎来到 SO。请阅读How to Ask,了解如何写出正确的问题。这样你会得到更好的回应。
-
buf[i] &= ~('A' ^ 'a') 如果你使用的是 ascii :)
-
@DAhrens ...或者只是
r[0] = toupper(r[0])更安全一些...