小编Ana*_*uck的帖子

使用stringstream缩进/居中输出

我正在学习c ++并且得到了一个项目来发送一个pascal的三角形输出(在n行计算之后).得到这样的输出,存储在一个字符串流"缓冲区"中

 1
 1 1
 1 2 1
 1 3 3 1
Run Code Online (Sandbox Code Playgroud)

但我想要的是相当的

    1
   1 1
  1 2 1
 1 3 3 1
Run Code Online (Sandbox Code Playgroud)

我的想法是:计算最后一行和当前行长度的差异(我知道最后一行是最长的).然后使用空格填充每一行(行长度差的一半).我现在的问题是:

  • 我没有得到getLine如何工作,也没有得到如何提取特定的( - >最后一行)
  • 我不知道也无法找到如何编辑字符串流中的一个特定行

不知怎的,我觉得我没有使用stringstream的最佳方式.

所以这是一个很常见的问题:如何解决这个问题,如果可能的话,使用stringstreams - 怎么样?

c++ stringstream getline centering

6
推荐指数
1
解决办法
3075
查看次数

Vim Latex:轻松删除单词/短语周围的命令

我正在使用 vim-latex,并且正在寻找一种解决方案来删除短语周围的属性/命令。例如

\textit{\textbf{Foo}}
Run Code Online (Sandbox Code Playgroud)

将成为

\textit{Foo}
Run Code Online (Sandbox Code Playgroud)

不知何故。我找到了“环境”脚本,它对于单一标志非常强大,但不幸的是无法实现我的目标。

有什么想法和提示吗?

vim latex

4
推荐指数
1
解决办法
740
查看次数

将fstream">>"作为函数参数传递

我正在编写一个程序,读取每行包含两个值的文件.这些值应存储在两个向量中,xVals和yVals.因此我使用push_back函数,但我希望我的代码更漂亮.现在它就像:

ifstream file;
file.open("foo.txt");
double TempVal;
while(file >> TempVal){
    xVals.push_back(TempVal);
    file >> TempVal;
    yVals.push_back(TempVal);
}
Run Code Online (Sandbox Code Playgroud)

我目前正在寻找的是像这样的解决方案(只是重要的一行):

while(file >> xVals.push_back(??) >> yVals.push_back(??))
Run Code Online (Sandbox Code Playgroud)

问号代表"我不知道如何获得通过的价值">>"那里......是否有一个简单(比上面的三行更容易)或更好的方式来实现这个?:-)

谢谢

c++ iostream operators

0
推荐指数
1
解决办法
126
查看次数

通用函数:将T []转换为Complex []

我需要一个适用于任何实值或复值数组的函数.

但是,对于函数本身,使用Complex[]-Array 非常方便.因此,我想要对任何非类型Complex[](例如double[]byte[]int[]......)的数组进行类型转换Complex[].

我认为这对我自己编写一个小的通用函数可能是一个很好的练习:

private static Complex[] convertArrayToComplex<T>(T[] inpArr)
{
    if (typeof(T) != typeof(Complex[]))
    {
        Complex[] inpArrC = new Complex[inpArr.Length];
        for (int k = 0; k < inpArr.Length; k++)
        {
            inpArrC[k] = new Complex((double)(object)inpArr[k], 0);
        }
        return inpArrC;
    } else
    {
        return inpArr; // Compiler-Error is here
    }
}
Run Code Online (Sandbox Code Playgroud)

当然这不起作用:我得到Compiler-Error告诉我,这T[]不能隐含地转换为Complex[].我理解这一点,但我没有看到以优雅的方式实现我的目标的方法.

约束:我知道这inpArr是一个数字数组.

c# arrays generics casting

0
推荐指数
1
解决办法
88
查看次数

标签 统计

c++ ×2

arrays ×1

c# ×1

casting ×1

centering ×1

generics ×1

getline ×1

iostream ×1

latex ×1

operators ×1

stringstream ×1

vim ×1