![]() |
1
1
您可以使用
您的分配方案不正确:您可以计算文件的大小,然后分配那么多字节,但当前
请注意
|
![]() |
2
1
不要使用
当然,您可以保存从stdin读取的数据(如果对于主内存来说太大,可能会保存在一个文件中)并对其进行操作。 另一种可能性是:
您可以反向控制,这样,您的函数不再“从”stdin中提取数据,而是将数据(字符)“推送到”它们。请注意,这可能会导致回调地狱,在C中,您牺牲了很大一部分类型安全性(以及代码的清晰性……没有第一类函数/闭包……叹息)。
如前所述,对于您的特定示例,您应该考虑一种完全不同的方法:如果可能,请预先计算所需的大小。如果您超过了该尺寸(您应该始终测试该尺寸),则使用
|
![]() |
Dai · bcrypt生成不正确的哈希-我的用户输入处理是否正确? 6 年前 |
![]() |
Wolfat · 无法从C中的管道执行读取? 6 年前 |
![]() |
Adonai · 在C中创建get string函数时出现问题 7 年前 |
|
Spring fancy · 为什么linux中不混合标准输入? 7 年前 |
|
Cryptosyche · C-使用fgets直到换行/-1[关闭] 7 年前 |
![]() |
Alexander Mills · 向下传递手柄管道 7 年前 |