小编cpp*_*oob的帖子

C++使用gcov和lcov问题?

我使用的是ubuntu 10.1,g ++编译器.

我试图将gcov和lcov用于我的C++项目.我设法编译gcov:

g++ -fprofile-arcs -ftest-coverage main.cpp user.cpp game.cpp
Run Code Online (Sandbox Code Playgroud)

没有错误或警告消息.接下来我尝试运行gcov:

gcov main.cpp user.cpp game.cpp
Run Code Online (Sandbox Code Playgroud)

还好.我也尝试运行我的程序:

./a.out
Run Code Online (Sandbox Code Playgroud)

并再次运行gcov,我的主要用户和game.cpp现在显示一些百分比.我想捕获数据,我在终端输入:

lcov --directory /home/projects/Game1/ -c -o application.info
Run Code Online (Sandbox Code Playgroud)

但它给了我这个:

Capturing coverage data from /home/projects/Game1/
geninfo: ERROR: cannot read /home/projects/Game1/!
Run Code Online (Sandbox Code Playgroud)

我在网上搜索,阅读lcov文档,我找不到答案.有人可以帮帮我吗?

另外,我也无法打开main.gcda文件.(我尝试使用文本编辑器打开,它说一些字符编码问题,非常多:UTF-8,Western(ISO-8859-1),Western(ISO-8859) -11)等,但仍然无法打开并读取文件.

请帮帮我..谁?

编辑:

我承认,这是我的错误(我非常抱歉,"home/Projects/Game1",资本为"P".)在验证路径后,我收到了这个新错误:

geninfo: ERROR: /home/Projects/Game1/main.gcno: reached unexpected end of file
Run Code Online (Sandbox Code Playgroud)

c++ gcov lcov

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

通过索引访问地图值?

我有这张地图:

m.insert(pair<int, string>(10, "map1"));
m.insert(pair<int, string>(11, "map2"));
m.insert(pair<int, string>(12, "map3"));
m.insert(pair<int, string>(13, "map4"));
m.insert(pair<int, string>(14, "map5"));
Run Code Online (Sandbox Code Playgroud)

然后,我让用户输入一个数字:

Please select:
1. Map1
2. Map2
3. Map3
4. Map4
5. Map5
Run Code Online (Sandbox Code Playgroud)

比方说,如果用户输入3,我该如何得到这个值:12 ??

c++ map

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

C++读取txt文件?

嗨,我使用ubuntu(Linux),使用g ++编译器.

我有一个非常奇怪的情况,昨天我的代码工作正常,我没有做任何事情,但今天,它没有工作.这是我的代码:

ifstream file;
file.open("users.txt", ios::in);

if(file.is_open()){
    int counter = 0;
    string readLine;
    file.seekg(0, ios::end);
    if (file.tellg() == 0)
        file.close();
    else {
        while(!file.eof()){
            getline(file,readLine);
            cout << "whats happening?" << readLine << endl;
            // I was suppose to do process here, but i comment it for debug purposes
        }
        openFile.close();
    }
Run Code Online (Sandbox Code Playgroud)

我不明白为什么,我花了2个小时调试,昨天,它可以读取用户数据,但今天,我打开相同的项目,但它无法读取文件.我100%肯定,路径是正确的,文件有内容.我的结果是:

Whats happening?
Run Code Online (Sandbox Code Playgroud)

多数民众赞成,没有别的.帮助我,我疯了看看这东西!!!!!!!!

c++ readfile

3
推荐指数
1
解决办法
689
查看次数

C++ ::使用向量迭代器调用类方法?

我有一个名为Room的类,Room类有setPrice和display函数.

我将房间对象存储在矢量中:

room.push_back(Room("r001", 1004, 2, "small"));
room.push_back(Room("r002", 1005, 2, "small"));
room.push_back(Room("r003", 2001, 4, "small"));
room.push_back(Room("r004", 2002, 4, "small"));
Run Code Online (Sandbox Code Playgroud)

在我的主要功能中,我创建了一个显示所有房间的显示功能.这是我的代码:

void displayRoom()
{
    vector<Room>::iterator it;
    for (it = room.begin(); it != room.end(); ++it) {
         *it.display(); // just trying my luck to see if it works
    }
}
Run Code Online (Sandbox Code Playgroud)

但它没有调用Room的显示方法.

如何调用Room(类)的显示方法(无参数)和setPrice(1参数)方法?

c++ vector class-method

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

C++命令行程序设计UI?

我有一个任务是开发一个C++命令行(终端,我正在使用,将运行Linux/Ubuntu中的程序)显示.但我不喜欢命令行设计,无论如何都要改进UI设计?

注意:我必须在终端运行程序!!

c++ user-interface

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

C++ ::与所有其他类共享类

我是OOP和C++的新手.

我有一个名为Database的类.此类的构造函数将建立与数据库的连接.然后,我有其他类,如用户,分数等.我希望所有这些类共享来自Database类的连接.我怎么做?

程序流程示例:

  • 主要功能称为数据库类,它建立与数据库的连接.

  • 我想验证用户,如下所示:

    用户a("user1","password1"); a.authenticate("user1","password1");

但在我的Users :: authenticate函数中,如何利用已经建立的连接?

编辑:

我在c ++中使用mysql ++

在阅读答案后,我将使用"传递作为参考"方法.但我遇到了几个错误:

main.cpp

mysqlpp::Connection conn(false);    

int main() {
if (conn.connect(DATANAME, HOST, DBUSER, DBPASS)) {
    Users a(conn, "test","pass");
    a.authenticate();
Run Code Online (Sandbox Code Playgroud)

这是我的用户构造函数和身份验证功能:

Users.cpp

Users::Users(mysqlpp::Connection conn, string username, string password) {
    this->conn = conn;
    this->username = username;
    this->password = password;
}

void Users::authenticate() {
    if(this->conn != NULL){
        cout << "Have connection" << endl;
    } else {
        cout << "No connection" << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

它可以编译和运行.但它命令行,它显示:

Segmentation fault.
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我猜我的代码错了

c++ oop share class

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

标签 统计

c++ ×6

class ×1

class-method ×1

gcov ×1

lcov ×1

map ×1

oop ×1

readfile ×1

share ×1

user-interface ×1

vector ×1