用C语言打印文本文件中包含唯一随机数的500时间字符串
我想写一段代码,用这个字符串打印500行:用C语言打印文本文件中包含唯一随机数的500时间字符串,c,C,我想写一段代码,用这个字符串打印500行: if(strstr(""token: XXXXXXXXXX"", token_read)){ token_num = X; } 所以XXXXXXXXX必须是唯一的(非重复的)随机数,X必须是递增1的数字。文本文件将如下所示: if(strstr(""token: 1312312412"", token_read)){ token_num = 1; } if(strstr(""token: 5829572542"", token_read)){ tok
if(strstr(""token: XXXXXXXXXX"", token_read)){ token_num = X; }
所以XXXXXXXXX必须是唯一的(非重复的)随机数,X必须是递增1的数字。文本文件将如下所示:
if(strstr(""token: 1312312412"", token_read)){ token_num = 1; }
if(strstr(""token: 5829572542"", token_read)){ token_num = 2; }
等等
但我的代码不起作用,如果它能起作用,代码不会生成唯一的数字。所以在双数组中必须是500x10个随机数
这是我的密码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char x[500][11];
char b[100];
int a, z;
for(z = 0; z < 499; z++){
x[z] = rand(10);
}
FILE *fptr;
fptr = fopen("a.txt", "rb+");
if(fptr == NULL){
fptr = fopen("a.txt", "wb");
if (fptr == NULL)
return -1;
else
for(a = 2; a < 500; a++){
snprintf(b, sizeof(b), "if(strstr(""token: %d"", token_read)){ token_num = a; }", x[a])
fputs(b, fptr);
}
}
fclose(fptr);
}
#包括
#包括
#包括
int main()
{
char x[500][11];
charb[100];
int a,z;
对于(z=0;z<499;z++){
x[z]=兰特(10);
}
文件*fptr;
fptr=fopen(“a.txt”,“rb+”);
如果(fptr==NULL){
fptr=fopen(“a.txt”、“wb”);
如果(fptr==NULL)
返回-1;
其他的
对于(a=2;a<500;a++){
snprintf(b,sizeof(b),“如果(strstrstr(““令牌:%d”,“令牌读取”){token\u num=a;}”,x[a])
fputs(b,fptr);
}
}
fclose(fptr);
}
很抱歉我的英语不好。在这篇文章结束之前,为了给我这样的娱乐,这里有一小块你的拼图没有了
char x[500][11];
char b[100];
int a, z, i;
for(z = 0; z < 500; z++)
{
for(i=0; i<10;i++)
{
x[z][i] = '0' + rand() % 10;
}
x[z][10] = '\0';
printf("%s \n", x[z]);
}
charx[500][11];
charb[100];
int a,z,i;
对于(z=0;z<500;z++)
{
对于(i=0;i简单的问题是,当您在调试器中运行它时,它在哪里失败?它在做什么?当前输出是什么?最后,生成了什么编译器警告,因为它们也会给您一些提示。首先,我知道在您的第一个for循环中将生成关于类型分配的警告。您认为rand如何(10)
是吗?现在它会为每个字符串生成一个奇怪的ASCII字符或一个NUL
字符,而不是像你想象的那样10个字符。它也不会像你想象的那样分配它。我认为rand(10)将生成10个随机数。@Barmar-stop。此代码不会按原样编译。OP需要返回hello world并从那里开始。关于rand()的假设
意味着还没有对函数进行研究。数组类型的分配意味着这里也没有知识。OP,请重新复习数组、字符串和其他用法,如果你在课堂上,希望能从你的教授那里得到一些帮助。我想制作我自己的游戏反作弊引擎系统。谢谢。我要改变这个世界我的新反作弊系统。