小编Ch0*_*sen的帖子

C 中预处理器语句的缩进

我正在用C编写一个程序,它应该根据符号常量的定义与否而采取不同的行动。举个简单的例子,我的第一个想法是这样写:

#include <stdio.h>
#define TEST

int main(void) {
   int num;
   #ifdef TEST
      num=1;
      printf("YES\n");
   #else
      num=0;
      printf("NO\n");
   #endif
   printf("%d\n", num);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,在尝试自动缩进我的代码(特别是gg=G在 vim 中使用)时,我的缩进丢失了:

#include <stdio.h>
#define TEST

int main(void) {
   int num;
   #ifdef TEST
   num=1;
   printf("YES\n");
   #else
   num=0;
   printf("NO\n");
   #endif
   printf("%d\n", num);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,如果我尝试自动缩进如下内容(中间有实际命令),就会出现混乱:

#ifdef TEST1
   commands
   #ifdef TEST2
      commands
   #else
      #ifdef TEST3
         commands
      #endif
      commands
   #endif
#endif
Run Code Online (Sandbox Code Playgroud)

那么,我可以做些什么来将上述缩进视为默认值?

c vim code-formatting indentation c-preprocessor

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

在C中使用fopen和输入文件名

在我的代码中的某个时刻,我想读一个我将要创建(和/或编辑)的文件的名称,并且我想出了以下内容:

FILE *fp;
char filename[15];
fgets(filename, 15, stdin);
fp = fopen(filename, "a");
fprintf(fp, "some stuff goes here");
fclose(fp);
Run Code Online (Sandbox Code Playgroud)

即使它确实编译并运行,它也不会创建(或打开,如果我手动创建它)指定的文件filename.
你会建议什么?

c string fopen file

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

标签 统计

c ×2

c-preprocessor ×1

code-formatting ×1

file ×1

fopen ×1

indentation ×1

string ×1

vim ×1