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

标签 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 是带有定义的字符串。

最佳答案

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

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

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

关于c - 在C中用另一个字母替换一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207381/

相关文章:

PHP - 不能在双引号内调用函数

java - Java 中的暴力字符串操作

c++ - _wfreopen 适用于 c :/path/file. txt 但不适用于 c :\path\file. txt?

c - 程序无法运行(编译问题)

c - 二叉树的最低公共(public)祖先(不是二叉搜索树)

c - 在c中写入文件时出现段错误

c - 使用函数查找字母和单词

c# - 删除字符串特定部分的数字(括号内)

计算沿任意梯度的点的颜色

c - fscanf == 1 做什么