小编Jab*_*cky的帖子

如何在ubuntu 12.04中运行ac程序

你好,我是ubuntu的新手.我想在ubuntu中运行ac程序.在终端我键入"make ex1.c"(我的文件名是ex1)和按下enter按钮后,终端告诉我"没有规则来制作目标'ex1.c' . 停 " .

我该怎么办?

c makefile ubuntu-12.04

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

为什么(sizeof(int)> -1)为false?

你可以证明以下代码:

#include<stdio.h>
int main()
{
    if(sizeof(int) > -1)
    {
            printf("\nTrue\n");
    }
    else
    {
            printf("\nFALSE\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是FALSE.....建议我的原因

c sizeof

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

当我用char指针复制字符串时返回null

我尝试用char指针复制字符串,程序没有给我什么,我不知道......

请让我知道我的代码问题.

int main() {
    char *a = "helloworld.txt";
    char *b = malloc( sizeof(char) * 20 );

    while(*a!='\0') {
        *b++=*a++;
    }
    *b = '.';
    b++;
    *b = '\0';

    printf("string: %s\n", b);
}
Run Code Online (Sandbox Code Playgroud)

结果是:

string: 
Run Code Online (Sandbox Code Playgroud)

c

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

指针的生命周期

我正在观看使用Herb Sutter的Symbio C++研讨会视频 - (Thrill of a)Lifetime 20.6.2016,https://www.youtube.com/watch? v = 7b75rcHg7z0 & t = 917s

以下代码是从视频11 :: 24中编写的.当示波器熄灭时,p1,p2和p3指针必须无效.尝试取消引用指针时必须出错.

我正在使用在线https://wandbox.org/环境.gcc和clang都给出了以下结果.哪个一定是错的.

有人可以在Visual Stdio上检查相同的代码.

谢谢

#include <iostream>
using namespace std;
#include <vector>
#include <memory>
#include <cstdio>
#include <cassert>
#include <string>
#include <iterator>
#include <algorithm>
#include <array>

int* p1 = nullptr; int* p2 = nullptr; int* p3 = nullptr; 

int main() {
    {
        int i = 1;
        struct MyStruct { char a; int i; char c;} s = {'a', 2, 'c'}; …
Run Code Online (Sandbox Code Playgroud)

c++

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

在c ++中检查文件是否只读

我想在Windows系统的c ++中检查.ini文件是否只读

例如:

if(file == readonly){
  //Do this
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已尝试过这个并且它有效:

ofstream ofs(filename); //test to see if the file successfully opened for writing or not
Run Code Online (Sandbox Code Playgroud)

但结果它将删除.ini文件并将文件留空

PS:1.它不是重复的2.我在互联网上搜索过,我发现了一些可能有用的例子,但结果却没有按照他们的意愿进行编译.

c++ windows winapi readonly

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

C中每行具有不同大小的二维数组

我想知道是否可以在 C 中创建一个具有不同大小线的二维数组。

我知道二维数组是一个存储其他数组的数组。但是如果数组的大小不同呢?像这样的东西(“T”是数组的可用位置)

   0  1  2  3  4
0  T  T  
1  T  T  T  T  T
2  T  T  T
3  T  T  T  T  
Run Code Online (Sandbox Code Playgroud)

如果可能,怎么做?就像普通的二维数组一样?

c jagged-arrays

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

计算字符串中最常见的字符

我有一个复杂的C程序,我只想写一个函数,它获取一个字符串作为参数.

int most_frequent(char *string)
Run Code Online (Sandbox Code Playgroud)

该函数必须返回字符串中最常用字符的编号.我试过这样的事情,但这是不正确的我认为:

 int most_frequent(char *string){
     int i, lenght;
     lenght=strlen(string);
     int max=0, x=0;
     for(i=0;i<lenght;i++)
     {
         if(string[i]==string[i++])
         {
             x++;
         }
         if(max<x)
             max=x;
     }
     return max;
 }
Run Code Online (Sandbox Code Playgroud)

例如:"溢出" - 2"十一" - 3

c string function

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

没有运算符“&lt;&lt;”与这些操作数匹配 - C++

我对 C++ 相当陌生,正在开始我的主要大学项目。到目前为止一切都很顺利,但是我遇到了这个问题,经过几个小时的网络搜索后我仍然一无所知。

Portfolio::displayAccounts()当我尝试循环遍历向量以显示向量内的每个元素时,就会出现问题。

它不允许我使用std::cout <<我一直用于数组之类的东西的典型值。

任何帮助将不胜感激。

#include <vector>
#include "Account.h"


class Portfolio
{
private:
    std::vector<Account> accounts;

public:
    double calculateNetWorth();
    Portfolio();
    void addAccount(std::string name, double balance);
    void displayAccounts();
};
Run Code Online (Sandbox Code Playgroud)
#include "Account.h"

double Account::getBalance() {
    return balance;
}

Account::Account(std::string name, double balance){
    this->name = name;
    this->balance = balance;
}
Run Code Online (Sandbox Code Playgroud)
#include <string>
class Account
{
private:
    std::string name;
    double balance;
public: 
    double getBalance();
    Account(std::string name, double balance);
};
Run Code Online (Sandbox Code Playgroud)
#include <iostream>
#include <string>

double Portfolio::calculateNetWorth() {
    double total = 0; …
Run Code Online (Sandbox Code Playgroud)

c++

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

FindWindowA() 返回 0,当我使用 GetLastError() 检查错误代码时,它也是 0 (ERROR_SUCCESS)

这是我正在编写的 dll 注入代码中的一段。我正在使用FindWindowA() 中定义的窗口过程获取 HWND INJ_PROC_NAME。问题是该函数总是返回 0,当我用GetLastError()它检查错误时也返回 0。我不知道是什么问题,因为错误代码没有给我关于错误的正确信息。

HWND Hwnd = FindWindowA(NULL, INJ_PROC_NAME);
    if (Hwnd == NULL)
    {
        std::cout << "Couldn't find window named \"" << INJ_PROC_NAME << "\": error-"
            << GetLastError() << std::endl;
        getchar();
        return -1;
    }
Run Code Online (Sandbox Code Playgroud)

这是输出:

Couldn't find window named "notepad.exe": error-0
Run Code Online (Sandbox Code Playgroud)

这是一个已知的问题?我无法在 Microsoft 的文档或堆栈溢出中找到有关它的任何信息。我就是想不通这个...

编辑:显然,当我运行程序时,记事本是打开的。

c c++ windows winapi

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

C 中的嵌套循环练习 - 我可以写得更好吗?

练习是:

使用嵌套循环产生以下模式

A
BC
DEF
GHIJ
KLMNO
PQRSTU
Run Code Online (Sandbox Code Playgroud)

我写的是这样的:

#include <stdio.h>

int main(void)
{
    char ch[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int x,y;
    int min,max,i;
    min=max=0;
    i=1;
    for(x=0;x<6;x++)
    {
        for(y=min;y<=max;y++){
            printf("%c",ch[y]);
        }
        min=max+1;
        max+=i+1;
        i++;
        printf("\n");
    }

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

有没有一种我想不到的更简单、更好的方法?

c loops

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