首页 \ 问答 \ 重新标记stdout和stdin(Redericting stdout and stdin)

重新标记stdout和stdin(Redericting stdout and stdin)

我想重新发送stdout,stderr来文件和来自char *的stdin。 我的目标是用C语言。

当我运行此代码时:

int main(){
        stdout=fopen("/home/user/file.txt","w");
    printf("aaaa");
    printf("\nbbbb");
    system("/bin/bash");
    sprintf("stdin","exit");
    return 0;
}

文件没有一些字符串和bash从控制台获取参数。 虫子在哪里?


I would like to redericting stdout, stderr to file and stdin from char*. My goal is make it in C.

When i run this code:

int main(){
        stdout=fopen("/home/user/file.txt","w");
    printf("aaaa");
    printf("\nbbbb");
    system("/bin/bash");
    sprintf("stdin","exit");
    return 0;
}

File didn't have for some string and bash take argument from console. Where is bug??


原文:https://stackoverflow.com/questions/8218717
更新时间:2024-03-30 11:03

最满意答案

您可以生成一个构造函数(甚至可以受软件包保护),它可以获取DTO的所有参数(包括IDE或Lombok)。 如果这不是DTO中唯一的构造函数,则使用@PersistenceConstructor注释构造函数。

更新:你的DTO类是抽象的,你是否将它们传递给Spring Data ArangoDB? 如果是的话,这可能是你得到例外的原因。 你应该传递生成的具体类。


You can generate a constructor (can even be package protected) that takes all parameters (with your IDE or Lombok) of your DTO. If this isn't the only constructor inside your DTO, annotate the constructor with @PersistenceConstructor.

UPDATE: Are your DTO classes abstract and are you passing them to Spring Data ArangoDB? If yes, this may be the cause of the exceptions you get. You should pass the generated concrete class.

相关问答

更多
  • 一位智者曾告诉我,面向对象是服务的敌人。 在我看来,这是一个通用的面向对象/ SOA问题,而不是一个特定的WCF问题:想到“赞成构造与继承”的旧建议。 特别是在服务方面,Polymorphic设计不应该是您在DTO层中的内容。 你应该避免使用使用继承或接口的DTO(并且除非你动态地序列化/反序列化,否则接口是不可能的......你不能使用SVCUtil生成具体的代理,因为具体类型在生成时是未知的,但是从我的内存这是可能的,当你在.NET客户端使用ChannelFactories ...我不记得细节)。 一般 ...
  • 不,你不需要总是让你的POJO不可变。 就像你说的,有时它可能是一个坏主意。 如果对象具有随时间变化的属性,则设置器是最舒适的方式。 但是你应该考虑使你的对象不可变。 它将帮助您找到错误,更清晰地编程并处理并发。 但我认为你引用说的一切: 如果一个类不能变成不可变的,尽可能地限制它的可变性...... 和 ......除非有令人信服的理由使其成为非最终的,否则每个领域都是最终的。 这就是你应该做的。 除非它不可能,因为你有一个二传手。 但是要注意并发性。 No, you don't need always ...
  • 这个问题是基于意见的。 我正在分享我对它的看法。 你所拥有的是一个抽象工厂模式的略微修改版本。 这里真正的问题是,你需要这一切吗? 如果Administrator和OperativeUser是值对象(如问题中所示)并且具有不同的属性,为什么还要为它们创建超类型( User )呢? 无论如何,您最终会在代码中的某处执行检查。 在这种情况下,您的UserService被简化为这样的东西(是的,简单的旧方法重载!) public class UserService { public void create ...
  • “一个DTO类”的方法几乎肯定是坏的。 它闻起来像神级。 许多权威人士完全谴责DTO。 你可以从一些基类继承,但对于值对象,它并不是真的合理。 构图相同。 它使您的代码更复杂。 在调试“DocReview”流程时,您必须查看两个,三个或更多DTO类,以便使用这两种方法来理解它。 Bleagh! 此外,每个DTO通常位于单独的语义域中:“Doc”不是“DocReview”。 因此,明显的“共同”元素实际上并不常见。 他们只是共享一种实现类型; 他们的意思完全不同。 当成员类型本身是复合的时,例如,如果许多域共 ...
  • 您可以生成一个构造函数(甚至可以受软件包保护),它可以获取DTO的所有参数(包括IDE或Lombok)。 如果这不是DTO中唯一的构造函数,则使用@PersistenceConstructor注释构造函数。 更新:你的DTO类是抽象的,你是否将它们传递给Spring Data ArangoDB? 如果是的话,这可能是你得到例外的原因。 你应该传递生成的具体类。 You can generate a constructor (can even be package protected) that takes ...
  • “final”属性只影响对列表的引用,而不影响列表本身。 如果你想要一个不可变的列表, List对象本身必须是不可变的。 谢天谢地,这里有一些标准的解决方案: Collections.unmodifiableList()是一个用于使列表不可变的标准Java包装器 谷歌的番石榴不可移动列表 (这是最方便的选项恕我直言),或 实现自己的列表,创建后无法更改 The "final" attribute affects only the reference to the list, not the list its ...
  • Map.CreateMap创建一个IMappingExpression对象,该对象具有一个方法ConstructUsing ,该方法接受一个可用作新对象的工厂方法的函数。 映射的属性用于设置值。 (顺便说一下,这可以通过ConvertUsing覆盖)。 有关详细信息,请参阅Automapper - 如何映射到构造函数参数而不是属性setter , AutoMapper使用错误的构造函数 ,或者如何使用Automapper构造没有默认构造函数的对象 。 在你的情况下,这可能是这样的: Mapper.Creat ...
  • 你的类netflow需要一个无参数的构造函数。 VelocyPack反序列化器将传入的VelocyPack反序列化为Java / Scala对象 - 在Java驱动程序的引擎下 - 需要它来实例化您的类。 更新: 您不必解析它以使用字段名称。 您的案例类可以与存储的文档具有相同的字段。 java驱动程序中的序列化器/反序列化器可以使用它。 但是你还需要一个无参数构造函数。 您的案例类可能如下所示: case class netflow(@BeanProperty SrcHost: String, ...
  • 这是DTO的已知问题。 它在MSDN上的这个平庸的关键词中有所描述。 换句话说:DTO是最通用的n层数据访问模式,但它也需要大多数工作。 您可以使用基于约定的映射(例如AutoMapper)解决映射中的一些问题。 当谈到类爆炸时,你是否可能使用过于扁平的数据结构? 这很难说,因为DTO自然会包含大量的语义重复,而这些重复根本就不是逻辑重复。 例如,即使您具有语义相似的类型,如果一个是ViewModel而另一个是域对象,它们可能共享语义结构,但责任却截然不同。 另一方面,如果您在同一应用程序层 (例如UI)中 ...
  • 您可能需要考虑以下几点: “...,因为保持DTO不知道域对象使您能够在不同的上下文中重用DTO。同样,您不希望域对象知道DTO,因为这可能意味着更改DTO需要更改代码在域逻辑中 ,这将导致维护噩梦。 最好的解决方案是使用汇编程序模式 ,该模式从业务对象创建DTO,反之亦然。 汇编程序是Mapper模式的一个专门实例,也在企业应用程序架构模式中提到....“ 从模式和实践:数据传输对象 另外,我自己并没有使用它,但您也可能想要查看AutoMapper 。 You may want to consider t ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)