【发布时间】:2016-10-18 09:33:45
【问题描述】:
我正在做一个创建一个可以上网的机器人的项目。
我必须用 C 语言编写它,现在我专注于选择它的去向地址(从文件中的列表中选择)。这可以正常工作,但是当我显示机器人选择的地址时,有些地址会被截断为 24 个字符并以“!”结尾这使得代码无法用于长地址。有谁知道它可能会出现在哪里?
程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <math.h>
int main() {
FILE* file = fopen("test.txt", "r+");
char *line = NULL;
char *tab[1023];
int tailleTab = 0;
line = malloc(sizeof(*line));
if(line == NULL)
return(EXIT_FAILURE);
while((fgets(line, 1023, file)) != NULL ) {
if(line[0] != '#' && line[0] != '\n') {
tab[tailleTab] = line;
line = malloc(sizeof(*line));
tailleTab++;
}
}
srand(time(NULL));
int n = rand()%tailleTab;
printf("\n%d = %.32s\n", n, tab[n]);
printf("%s\n", tab[n]);
fclose(file);
}
从中选择地址的文件:
www.google.com
www.wikipedia.org
www.dahunicorn.xyz
www.cloudimperiumgames.com
www.robertspaceindustries.com
www.candybox2.net
www.42.com
www.1337.com
【问题讨论】:
-
请分享您的意见 - 我们无法猜测!另外,请分享您的调试观察。
-
请在使用后释放分配。在简单的测试 sn-ps 中也这样做的好习惯。