c 语言字符串
时间: 2023-06-21 10:15:39 浏览: 131
C语言中的字符串是由一系列字符组成的,以空字符'\0'作为结尾标志。可以使用字符数组或指针来表示字符串。
例如,以下代码定义了一个名为str的字符串变量,用字符数组表示:
```
char str[10] = "hello";
```
也可以使用指针来表示字符串,例如:
```
char *str = "hello";
```
这里的指针指向字符常量"hello"所在的内存地址。值得注意的是,使用指针表示字符串时,不要尝试修改字符串中的字符,因为字符串常量是只读的,任何修改都会导致不可预知的行为。
相关问题
c 语言 字符串加密
在C语言中,可以使用不同的加密算法对字符串进行加密。常见的加密算法有DES、AES等。下面是一个使用DES算法对字符串进行加密的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/des.h>
// 加密函数
void encryptDES(const char *key, const char *input, char *output) {
DES_cblock desKey;
DES_key_schedule keySchedule;
DES_cblock inputBlock, outputBlock;
// 设置密钥
memcpy(desKey, key, 8);
DES_set_key_unchecked(&desKey, &keySchedule);
// 设置输入数据
memcpy(inputBlock, input, 8);
// 加密
DES_ecb_encrypt(&inputBlock, &outputBlock, &keySchedule, DES_ENCRYPT);
// 将加密结果转为字符串
memcpy(output, outputBlock, 8);
}
int main() {
const char *key = "12345678"; // 密钥
const char *input = "Hello"; // 输入字符串
char output[9]; // 存储加密结果的字符串
encryptDES(key, input, output);
printf("加密后的字符串: %s\n", output);
return 0;
}
```
这段代码使用了OpenSSL库中的DES算法进行加密。首先,需要设置密钥和输入数据,然后调用`DES_ecb_encrypt`函数进行加密,最后将加密结果转为字符串输出。
c 语言字符串转数组
在C语言中,可以使用字符数组来表示字符串。字符串字面量可以直接赋值给字符数组。例如,可以使用以下方式将字符串转换为字符数组:
```c
char str[] = "Hello, World!";
```
在这个例子中,字符串"Hello, World!"被赋值给字符数组str。字符数组str的大小会根据字符串的长度自动确定。
另外,可以使用strcpy函数将一个字符串复制到字符数组中。例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[20];
char source[] = "Hello, World!";
strcpy(str, source);
printf("Copied string: %s\n", str);
return 0;
}
```
在这个例子中,strcpy函数将source字符串复制到str字符数组中。最后,使用printf函数打印出复制后的字符串。
希望这个回答对你有帮助!
阅读全文