我正在和 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 是带有定义的字符串。
最佳答案
您可以直接处理字符串内的字符:
r[0] = toupper(r[0]);
您可以执行此操作,因为表达式 r[0]
的类型为 char
。另请注意,您可以对指针使用数组语法。如果 r
是 char*
,您仍然可以将其视为数组,并使用 r[index 引用其各个
。 char
内容]r[0]
表示字符串中的第一个字符,r[1]
表示第二个字符,依此类推。
关于c - 在C中用另一个字母替换一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207381/