gpt4 book ai didi

c - 如何在 Linux 内核中将 char[] 字符串转换为 int?

转载 作者:IT王子 更新时间:2023-10-29 00:21:31 25 4
gpt4 key购买 nike

linux内核中如何将char[]转换为int

验证输入的文本实际上是一个 int?

int procfile_write(struct file *file, const char *buffer, unsigned long count,
void *data)
{

char procfs_buffer[PROCFS_MAX_SIZE];

/* get buffer size */
unsigned long procfs_buffer_size = count;
if (procfs_buffer_size > PROCFS_MAX_SIZE ) {
procfs_buffer_size = PROCFS_MAX_SIZE;
}

/* write data to the buffer */
if ( copy_from_user(procfs_buffer, buffer, procfs_buffer_size) ) {
return -EFAULT;
}

int = buffer2int(procfs_buffer, procfs_buffer_size);

return procfs_buffer_size;
}

最佳答案

查看 kstrtol() 的各种形式在 #include <include/linux/kernel.h> 在您友好的 Linux 源代码树中。

您需要哪一个取决于 *buffer是用户地址还是内核地址,以及您对错误处理/缓冲区内容检查的要求有多严格(例如,123qx 是否无效,还是应该返回 123?)。

关于c - 如何在 Linux 内核中将 char[] 字符串转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6139493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com