我想把int传递给sysfs_store
我试过的
用户空间
int tid = 5234; // can be negative as well
char buf[5];
sprintf(buf, "%d\n", tid);
write (fd, buf, 1);驱动程序sysfs_store
int v;
kstrtoint(buf,10,&v);
pr_info("%d\n",v); // printing only first digit 5. Should print 5234发布于 2022-02-25 18:27:09
因为sprintf()返回字节复制计数;使用它
还切换到snprintf()以避免缓冲区溢出。
int data_len = snprintf(buf, sizeof(buf), "%d\n", tid);
write (fd, buf, data_len);最好有更大的缓冲区来覆盖所有的场景。
https://stackoverflow.com/questions/71270195
复制相似问题