我和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是带定义的字符串。
答案 0 :(得分:3)
您可以直接处理字符串中的字符:
r[0] = toupper(r[0]);
您可以这样做,因为表达式r[0]
的类型为char
。另请注意,您可以在指针上使用数组语法。如果r
是char*
,您仍然可以将其视为数组,并使用char
引用其各个r[index]
内容。 r[0]
表示字符串中的第一个字符,r[1]
表示第二个字符,依此类推。