如何从 c 中的字符串文字中获取单个字符?

How can I get an individual char from a string literal in c?

如何从字符指针获取单个字符?

我想从中获取字符的示例片段:

char *name = "ABCDEFGHIJKL";

我怎样才能得到B?我会这样做吗:

char oneChar = name[*name+1];

我不太清楚如何从 *name 中获取单个字符。

另一种可能的解决方案是创建一个新数组:

char newArray[100];
newArray = *name;

谢谢你们的帮助!最重要的是知道如何从名称中取出单个字符。

这样做的目的是通过一个函数传递 char,该函数将 return 另一个作为此加密版本的 char,然后我会将加密的 char 连接到一个新的 char 数组。例如:

char a = getEncryptedChar(name[1]); //This won't work since name is a pointer.
char newEncryptedName[100] += a;

对于任何淫秽的错误,我深表歉意,我对 C 还比较陌生,感谢您为我提供的任何帮助。

实际上你上面的代码是非法的,因为 word[0] 是一个字符(不是指针)所以 *word[0] 是一个无效的表达式。

如果您想获取字符数组中特定字符的地址,那么您可以简单地执行 char *converted = &word[i],其中 i 表示您对其感兴趣的字符的索引地址(即上述情况下的 &word[0])。