小编Mit*_*tch的帖子

C++ FILE指向stdout的指针?

我正在编写一个程序,我希望用户能够指定输出是写入文件还是写入stdout.在此之前,我的程序一直在使用printf命令,所以我希望简单地将命令更改为fprintf命令,但是我的编译器对我大喊大叫,因为很明显,它们不是同一个对象类.

例如:

FILE *fp;
bool print_to_file;
.
.
.
if(print_to_file){
  fp = fopen("something.txt", "w");
}
else{
  fp = &stdout;
}
fprintf(fp,"%s\t%s\t%s\n",string1 . c_str(), string2 . c_str(), string3 . c_str());
Run Code Online (Sandbox Code Playgroud)

我更喜欢坚持使用fprintf并找到一个指向stdout的FILE指针,是否有人知道这是否可能?如果答案是否定的,我可以将文件打开为fstreams,然后使用fprintf吗?

c++

16
推荐指数
2
解决办法
2万
查看次数

按索引对切片R数组

我在R中有一个包含3列的数组,如下所示:

>x
[,1]     [,2] [,3]
V1 7.803550 0.000000    0
V2 7.842899 0.000000    0
V3 7.310273 0.000000    0
V4 7.230438 0.000000    0
V5 6.582147 1.097024    0
V6 9.364152 0.000000    0
Run Code Online (Sandbox Code Playgroud)

对于我的数组切片,我希望每行有不同的列,以便我想要的索引是:

rows<-1:6
cols<-c(1,1,1,2,3,1)
Run Code Online (Sandbox Code Playgroud)

当我尝试在R中获取适当的数组切片时,而不是获取具有适当值的向量,

> t
      V1       V2       V3       V4       V5       V6 
7.803550 7.842899 7.310273 0.000000 0.000000 9.364152 
Run Code Online (Sandbox Code Playgroud)

我得到一个6x6的输出矩阵,其中为所有选定的行打印出给定的列

> t
       [,1]     [,2]     [,3]     [,4] [,5]     [,6]
V1 7.803550 7.803550 7.803550 0.000000    0 7.803550
V2 7.842899 7.842899 7.842899 0.000000    0 7.842899
V3 7.310273 7.310273 7.310273 0.000000    0 7.310273
V4 7.230438 7.230438 …
Run Code Online (Sandbox Code Playgroud)

arrays r slice

2
推荐指数
1
解决办法
1408
查看次数

标签 统计

arrays ×1

c++ ×1

r ×1

slice ×1