gpt4 book ai didi

c - 在C中生成随机数并将其写入文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:01:22 24 4
gpt4 key购买 nike

我已经创建了一个从文本文件中读取数字并绘制其等距投影的项目,但现在我正在尝试创建一个程序来生成 0-9 的数字并将它们写入文档中。这就是我的代码的样子,但文档仍然是空的。我假设错误是在我的 rand() 函数使用中,或者是在我将整数转换为字符时。

预先感谢您的所有输入,如果这只是操作错误,我深表歉意。我对这些东西很陌生:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
char str[10];
FILE *fptr;
int i;
int num;
char num2;
i = 0;

fptr = fopen("map.fdf", "w");
if (fptr == NULL)
{
printf("ERROR Creating File!");
exit(1);
}
while (str[i] != '\0')
{
num = rand() % 10;
num2 = num + '0';
str[i] = num2;
i += 1;
}
puts(str);
fprintf(fptr,"%s", str);
fclose(fptr);
return (0);
}

最佳答案

我不明白你的 while 循环,它似乎在等待一些不包含代码的条件。

无论如何,不​​重新发明如何将个位数整数转换为字符,而是使用更高级的 I/O 函数来打印到文件怎么样?毕竟,这就是他们在那里的原因。 :)

for (int i = 0; i < 10; ++i)
{
fprintf(fptr, "%d", rand() % 10);
}
fprintf(fptr, "\n"); /* Probably nice to make it a line. */

如果您真的必须在没有 for 的情况下凑合,您当然可以随时手动将其转换为 while 循环:

int i = 0;
while(i++ < 10)
{
fprintf(fptr, "%d", rand() % 10);
}

关于c - 在C中生成随机数并将其写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com