如果条件不起作用怎么办?

时间:2014-02-05 15:34:59

标签: c++ linux gcc

           rc = daoMp.retrieveSystemData(argv[2]);
           printf("rc = %d\n");
           if (rc == 0) {
               ErrLog("Mount point found\n");
               printf("Mount point found\n");
               return 4;
           }
           else {
               ErrLog("Could not retrieve system data\n");
               printf("Could not retrieve system data\n");
               return -1;
           }

Output: rc = -208814497
Mount point found

如果块验证失败了怎么办?

3 个答案:

答案 0 :(得分:5)

而不是这个(你调用错误,一个参数太短):

printf("rc = %d\n");

这样做:

std::cout << "rc = " << rc << '\n';

这样,你将使用正确的C ++方式(这会立即告诉你一些事情)。 printf()继承自C,并且本质上不安全 - 您的错误是原因的主要示例。

答案 1 :(得分:1)

我相信你缺少printf的第二个参数:

printf("rc = %d\n", rc);

答案 2 :(得分:0)

printf("rc = %d\n");应为printf("rc = %d\n", rc);