在C中用一个字母替换另一个字母

时间:2014-06-13 14:10:09

标签: c string

我和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是带定义的字符串。

1 个答案:

答案 0 :(得分:3)

您可以直接处理字符串中的字符:

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

您可以这样做,因为表达式r[0]的类型为char。另请注意,您可以在指针上使用数组语法。如果rchar*,您仍然可以将其视为数组,并使用char引用其各个r[index]内容。 r[0]表示字符串中的第一个字符,r[1]表示第二个字符,依此类推。