用C语言打印文本文件中包含唯一随机数的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

我想写一段代码,用这个字符串打印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)){ 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,请重新复习数组、字符串和其他用法,如果你在课堂上,希望能从你的教授那里得到一些帮助。我想制作我自己的游戏反作弊引擎系统。谢谢。我要改变这个世界我的新反作弊系统。