我有一个输入文件,其中有2个非常长的数字(某处是10 ^ 8位),用空格分隔。我要做的就是阅读它们,从最后一个数字到第一个数字,并将它们放在不同的字符串中。以下是2个简短数字的示例:
1234 5678
我的程序需要像[] = {4,3,2,1}和n [] = {8,7,6,5}这样的数字才能工作。
FILE *f;
char str[100000000],*ptr,avect[100000000],nvect[100000000];
f = fopen ("input.txt", "r");
fgets(str, MAX_NR_DIGITS, f); //read the whole line into a string
strrev (str); //inverse the string and I am gonna read n firstly and a secondly
nvect=strtok(str," ");
我在这里停了下来,因为我不知道strtok是如何工作的。在镜像之后,我必须在字符串中给出nvect数字n并在字符串中给出avect数字a。我认为这是一个很好的解决方法,但如果你知道一个更好的解决方法,我是开放的。谢谢你的帮助!
答案 0 :(得分:0)
基本上Strtok是如何工作的,只要它读到它到达某个字符或“分隔符”,在你的情况空间中,或“”是你正在使用的,因为数字是由空格分隔的,然后将字符串返回到分隔符,这是一个可能有用的有用链接 https://www.tutorialspoint.com/c_standard_library/c_function_strtok.htm