小编zxc*_*xcv的帖子

在C中打印领先的0?

我正试图找到一种打印前导0的好方法,例如01001的邮政编码.虽然这个数字会被存储为1001,但这样做的好方法是什么?

我想过要么使用case case语句/如果那么弄清楚这个数字是多少位数,然后把它转换成一个带有额外0的打印的char数组,但我不禁想到有可能有办法用printf格式语法,这是我的意思.

c printf

320
推荐指数
8
解决办法
33万
查看次数

在C中使用枚举类型的变量作为字符串的简单方法?

这是我想要做的:

typedef enum { ONE, TWO, THREE } Numbers;
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个函数来执行类似于以下的切换案例:

char num_str[10];
int process_numbers_str(Numbers num) {
  switch(num) {
    case ONE:
    case TWO:
    case THREE:
    {
      strcpy(num_str, num); //some way to get the symbolic constant name in here?
    } break;
    default:
      return 0; //no match
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

而不是在每种情况下定义,有没有办法使用枚举变量设置它,就像我在上面尝试做的那样?

c enums c-preprocessor

86
推荐指数
8
解决办法
9万
查看次数

在vim中使用C自动缩进空格?

使用Eclipse和java,我有点被宠坏了.我开始使用vim在linux环境中进行C编码,有没有办法让vim自动为块做适当的间距?

因此在输入{下一行后将有2个空格缩进,并且该行的返回将使它保持相同的缩进,并且}将向后移动2个空格?

c vi vim coding-style

82
推荐指数
5
解决办法
11万
查看次数

gcc错误:错误的ELF类:ELFCLASS64

我试图使用外部编译对象coreset.o编译程序.我写了public01.c测试文件,我的函数在calculate.c中,两者都编译.然而它没有把它连接在一起.可能是什么问题?

gcc -o public01.x public01.o computation.o coreset.o
ld: fatal: file coreset.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to public01.x
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

gcc makefile

31
推荐指数
3
解决办法
10万
查看次数

gvim和gdb for C?

在emacs中有一种方便的方法来为gdb(C调试器)启动gdb和gui选项.

gvim中有类似的选项吗?

c vim gdb

14
推荐指数
3
解决办法
7888
查看次数

错误:初始化元素在加载时不可计算

我有一个带结构的函数,我试图将它的变量存储在一个数组中,但是当我运行gcc -Wall -ansi -pedantic-errors -Werror时我得到了这个

int detect_prm(Param prm) {
  int prm_arr[] = {prm.field1, prm.field2, prm.field3};

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

我得到错误:当我尝试编译上面的内容时,初始化元素在加载时是不可计算的.它对我来说很好,有什么不对?

c

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

使用C中的scanf解析输入

我在尝试弄清楚如何使用时遇到了很多问题scanf().它似乎与整数一致,相当直接scanf("%d", &i).

我遇到问题的地方是scanf()在循环中尝试读取输入.例如:

do {
  printf("counter: %d: ", counter);
  scanf("%c %c%d", &command, &prefix, &input);
} while (command != 'q');
Run Code Online (Sandbox Code Playgroud)
  1. 当我输入一个有效的结构化输入时c P101,它似乎再次循环,然后提示我.即使只有一个,这似乎也会发生:

    scanf("%c", &c) 
    
    Run Code Online (Sandbox Code Playgroud)

    在一个循环中.在再次提示我之前,它会进行两次循环.是什么让它循环两次,我该如何阻止它?

  2. 当我输入较少量的输入时,以编程方式不会有其他字符或数字,例如q,按Enter似乎提示我输入更多.如何scanf()处理单字符和双字符条目?

c scanf

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

什么是java信号调度程序线程?

我正在查看java进程的线程转储,并注意信号调度程序阻塞的一些线程.

什么是信号调度员?它有什么作用?

java multithreading

9
推荐指数
2
解决办法
7527
查看次数

在 HP-UX 环境 JVM 中,C 堆与 Java 堆中运行的是什么?

我在 HP-UX 环境中遇到了某些 Java 应用程序的特殊问题。

堆被设置为 -mx512,然而,使用 gpm 查看这个 java 进程的内存区域,它显示它使用了超过 1.6GB 的 RSS 内存,其中 1.1GB 分配给了数据区域。在 24-48 小时内增长得非常快,然后大幅放缓,每几个小时仍然增长 2MB。但是,Java 堆没有泄漏的迹象。

好奇这是怎么可能的,我研究了一下,发现了这篇关于 java 堆和 c 堆内存泄漏的惠普文章:http : //docs.hp.com/en/JAVAPERFTUNE/Memory-Management.pdf

我的问题是什么决定了在 C 堆和 Java 堆中运行的内容,对于不通过 Java 堆运行的内容,您将如何识别在 C 堆上运行的那些对象?另外java堆是否位于C堆内?

c java jvm hp-ux heap-memory

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

指针和const char []的C错误

我有一个const char arr []参数,我试图迭代,

char *ptr;
for (ptr= arr; *ptr!= '\0'; ptr++) 
  /* some code*/
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:赋值从指针目标类型中丢弃限定符

const char []的处理方式与非const不同吗?

c pointers

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

如何识别C中整数输入的具体数字?

我需要得到包含数字1的数字位数.我知道在java中我可以将输入作为a String和use使用charAt,但我知道C中没有隐式的String函数.我怎样才能实现这一点?

c string function

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