如何从 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]
)。
如何从字符指针获取单个字符?
我想从中获取字符的示例片段:
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]
)。