小编Lig*_*ica的帖子

请解释这段代码

所以我一直试图在C++中拆分一个字符串并将内容转储到一个向量中.我找到了问题的答案,所以我复制了解决方案并开始使用它来理解它,但它似乎仍然非常神秘.我有以下代码片段,它是我制作和复制材料的混合物.我已经评论了我理解其目的的每一行.有人可以填写剩余的评论(基本上解释他们做了什么).我想完全理解这是如何解决的.

ifstream inputfile; //declare file
inputfile.open("inputfile.txt"); //open file for input
string m; //declare string
getline(inputfile, m); //take first line from file and insert into string

std::stringstream ss(m);
std::istream_iterator<std::string> begin(ss);
std::istream_iterator<std::string> end;
std::vector<std::string> vstrings(begin, end);
std::copy(vstrings.begin(), vstrings.end(), std::ostream_iterator<std::string>(std::cout, "\n"));

while(true) //delay the cmd applet from closing
{
}
Run Code Online (Sandbox Code Playgroud)

c++

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

fmod是不正确的?

鉴于以下双打,确实fmod返回正确的值?

    double x = .090;
    double y = .003;
    double r = fmod(x, y);
    // r = 0.0029999999999999949
Run Code Online (Sandbox Code Playgroud)

为什么r = 0?

c++

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

如何在C中用printf显示int

当我尝试使用printf()函数在C中显示int时,我遇到了一些奇怪的麻烦.这是我正在使用的代码

            printf("To compute pi enter n: ");
            int n_term = 1;

            printf("n: %d \n", &n_term); 
            scanf("%d", &n_term);
            printf("n: %d", &n_term);
Run Code Online (Sandbox Code Playgroud)

我意识到存在一个问题,因为当我尝试简单地将n_term打印回用户时,甚至在他们为n_term输入任何值之前,它就会出现这个巨大的数字,2686776.任何有关此问题的见解都会非常感激.我正在使用gcc编译器,如果这有任何区别.

c printf

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

如何计算小数点前后的位数?

今天在我的c ++课堂测试中提出了一个问题."编写一个输入浮点数的程序,并计算小数点前后的位数."

我用这段代码计算了小数点前的数字:

float n;

cin>>n;

float temp = n;

int count = 0;

while(temp1 > 1) {

    count++;

    temp = temp/10;
}

cout<<count;
Run Code Online (Sandbox Code Playgroud)

部分之后我坚持了下来.谁能告诉我怎么做?或者可以提供整个程序?

提前致谢,

c++ loops decimal-point

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

为什么文件没有打开C++?

我只是第一次尝试这个代码.我无法找到错误的根源.

这是代码:

#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    fstream file;
    file.open("C:\\Users\\AfzaalAhmad\\Documents\\text.txt");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该文件存在于该位置.这是文件系统的屏幕截图.

文件系统的屏幕截图

在这种情况下没有例外,但文件永远不会打开!

我在哪里丢失代码?

c++ fstream

-5
推荐指数
1
解决办法
819
查看次数

为什么我的文本框不每秒显示更新的值?

我有以下使用 jQuery 1.8.0 的代码。它应该每秒增加文本框中的值,但当我运行它时没有任何反应。

我已经很长时间没有写过任何 JavaScript 了(我已经习惯了 C++),所以我确信我遗漏了一些明显的东西。jQuery 是否与该setInterval函数有冲突?我可以不在#timer计时器内使用选择器吗?

$(function() {
    var i = 0;
    setInterval(1000, function() {
        i++;
        $('#timer').val(i);
    });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<input type="textbox" id="timer" />
Run Code Online (Sandbox Code Playgroud)

javascript jquery

-5
推荐指数
1
解决办法
760
查看次数

本地指针发生了什么变化?

我的问题在下面的代码段中的代码注释中标记.

int *foo(){
    int a = 10;
    int b = 20;
    return &b;
}
int *foo2(){
    int aa = 44;
    int bb = 40;
    return &bb;
}

int main(int argc, char* argv[])
{
    int *p = foo();
    int *p2 = foo2();

    int  a = 700;
    int *b = & a;

//  cout<<*b<<endl; /* what & why the difference from adding & removing this line?? */
    cout<<a<<endl;
    cout<<*p<<endl; /* what & why happened to "p" */

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers

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

打开文件与PHP无法正常工作

为什么:

$test='tester.txt';
$bigarr=str_getcsv($test,',');
print_r($bigarr);
Run Code Online (Sandbox Code Playgroud)

texter.txt 包含: one,two,three,four

不行吗?

编辑:它只输出'tester.txt',并没有把各个元素放入一个像它应该...

php

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

如果(validBeverage == true)要用(validBeverage)重新复制,它是否会改变代码的逻辑?如果是,为什么或whynot?

将行if(validBeverage == true)替换为if(validBeverage)行并再次运行程序.程序的执行是否有任何差异?为什么或者为什么不?

即时通讯家庭学习C++,我上大学的朋友一直在给我分配练习,有人可以向我解释这是如何工作的,导致我得到相同的结果,我只是想知道为什么?

    // #include <iostream>
    // #include <iomanip>
    // using namespace std;

    // int main()
    // {
        // int number; //number of beverages
        // float cost; //cost of beverage
        // int beverage; //beverage type    
        // bool validBeverage;

        // cout << fixed << showpoint << setprecision(2);

        // do
        // {
            // cout << endl << endl;
            // cout << "Hot Beverage Menu" << endl << endl;
            // cout << "1: Coffee         $1.00" << endl;
            // cout << "2: Tea …
Run Code Online (Sandbox Code Playgroud)

c++

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

这个C++程序是否会调用未定义的行为?

我正在阅读有关static_cast运算符的内容.

考虑以下示例:

#include <iostream>
class B { };
class D : public B 
{
    public:
        void fun()
        {
            std::cout<<"fun() is called\n";
        }
};
void f(B* pb,D* pd)
{
    D* pd2=static_cast<D*>(pb);
    B* pb2=static_cast<B*>(pd);
    pd2->fun();
}
int main()
{
    B b;
    D d;
    f(&b,&d);
}
Run Code Online (Sandbox Code Playgroud)

它说:

在下面的示例中,行D*pd2 = static_cast(pb); 是不安全的,因为D可以有不在B中的字段和方法.但是,行B*pb2 = static_cast(pd); 是一个安全的转换,因为D总是包含所有的B.

与dynamic_cast相反,没有对pb的static_cast转换进行运行时检查.pb指向的对象可能不是D类型的对象,在这种情况下使用*pd2可能是灾难性的.例如,调用作为D类成员但不是B类成员的函数可能会导致访问冲突.

我在gcc 4.8.1和MSVS 2010上尝试了它并获得输出fun()被调用.那么这个程序会调用未定义的行为吗?我的程序可以在运行时崩溃吗?C++标准对此有何看法?如果我理解错误,请纠正我.

c++ inheritance static-cast undefined-behavior language-lawyer

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