但求过程001 发表于 7 天前

求助

#include <stdio.h>

void main()
{
        int i;
        FILE *fp;
        for(i=0;i<5;i++)
        {
                fp=fopen("output.txt","w");
                fputc('K'+i,fp);
                fclose(fp);
        }
}

结果是??

FishC 发表于 7 天前

求助
#include <stdio.h>

void main()
{
        int i;
        FILE *fp;
        for(i=0;i

你好!你的代码不完整,for 循环没有写完。看起来你是想创建一个文件并写入一些数据。

通常,使用 for 循环写入数据,你需要先打开文件,然后在循环中写入,最后关闭文件。

另外,根据C语言标准,main 函数应该声明为 int main(void) 或 int main(int argc, char *argv[]),并且在结束时返回一个整数值(通常是0表示成功)。使用 void main() 在一些编译器上可能会产生警告。

这里提供一个完整的示例,假设你想将数字0到9写入一个名为 "data.txt" 的文件中:


#include <stdio.h>

int main(void)
{
    int i;
    FILE *fp;

    // 以写入模式打开文件
    fp = fopen("data.txt", "w");
    if (fp == NULL) {
      printf("无法打开文件!\n");
      return 1;
    }

    // 循环写入数据
    for (i = 0; i < 10; i++) {
      fprintf(fp, "%d\n", i);
    }

    // 关闭文件
    fclose(fp);
    printf("数据已写入文件!\n");

    return 0;
}


如果你想让用户输入循环的结束条件,可以这样修改:


#include <stdio.h>

int main(void)
{
    int i, n;
    FILE *fp;

    printf("请输入要写入的数字个数:");
    scanf("%d", &n);

    fp = fopen("data.txt", "w");
    if (fp == NULL) {
      printf("无法打开文件!\n");
      return 1;
    }

    for (i = 0; i < n; i++) {
      fprintf(fp, "%d\n", i);
    }

    fclose(fp);
    printf("数据已写入文件!\n");

    return 0;
}


如果你的代码有其他目的,请提供更多细节,以便我能更好地帮助你。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 求助