C中文件I/O的问题

0 c file-io printf

我很抱歉我的英语不好,但我会试着解释我的问题.使用C,我想输出一个IP地址列表.

但是,当我打开.txt文件时,它看起来是空白的.我也尝试在stderr上打印,但我根本没有输出.有什么问题?似乎for循环没有被执行.

这是代码.(将打印地址从192.168.51.1打印到192.168.51.254)

#include <stdio.h>
#define B1_S 192
#define B1_E 192
#define B2_S 168
#define B2_E 168
#define B3_S 51
#define B3_E 51
#define B4_S 1
#define B4_E 254
#define FNAME "ip.txt"
#define MIN_RANGE 0
#define MAX_RANGE 255

void to_next(int *x);

main()
{
  FILE *fp;
  int i, j, k, l;
  if(fp = fopen(FNAME, "w"))
  {
    for(i=B1_S; i<=B1_E; to_next(&i))
      for(j=B2_S; j<=B2_E; to_next(&j))
        for(k=B3_S; j<=B3_E; to_next(&k))
          for(l=B4_S; l<=B4_E; to_next(&l))
            fprintf(fp, "%d.%d.%d.%d\n", i,j,k,l);
    fclose(fp);
  }
  else
    printf("Error opening file.\n");
}

void to_next(int *x)
{
  if(*x < MAX_RANGE)
    *x+=1;
  else
    *x = MIN_RANGE;
}
Run Code Online (Sandbox Code Playgroud)

edu*_*ffy 6

错字?

         for(k=B3_S; j<=B3_E; to_next(&k))
Run Code Online (Sandbox Code Playgroud)

你应该有一个j地方k.