将 int 传递给 sysfs
Passing int to sysfs
我想将 int 传递给 sysfs_store
我试过的
用户空间
int tid = 5234; // can be negative as well
char buf[5];
sprintf(buf, "%d\n", tid);
write (fd, buf, 1);
driver sysfs_store
int v;
kstrtoint(buf,10,&v);
pr_info("%d\n",v); // printing only first digit 5. Should print 5234
自 sprintf()
returns 字节复制计数;使用它
也切换到 snprintf()
以避免缓冲区溢出。
int data_len = snprintf(buf, sizeof(buf), "%d\n", tid);
write (fd, buf, data_len);
最好有更大的缓冲区来涵盖您的所有场景。
我想将 int 传递给 sysfs_store
我试过的
用户空间
int tid = 5234; // can be negative as well
char buf[5];
sprintf(buf, "%d\n", tid);
write (fd, buf, 1);
driver sysfs_store
int v;
kstrtoint(buf,10,&v);
pr_info("%d\n",v); // printing only first digit 5. Should print 5234
自 sprintf()
returns 字节复制计数;使用它
也切换到 snprintf()
以避免缓冲区溢出。
int data_len = snprintf(buf, sizeof(buf), "%d\n", tid);
write (fd, buf, data_len);
最好有更大的缓冲区来涵盖您的所有场景。