c - 从文件中以不同的字符串读取 2 个巨大的数字

标签 c string file io strtok

我有一个输入文件,其中有 2 个非常长的数字(大约 10^8 位数字),并用空格分隔。我要做的就是读取它们,从最后一个数字到第一个数字并将它们放在单独的字符串中。以下是 2 个短号码的示例:

1234 5678

我的程序需要像 a[ ]={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。我认为这是一种很好的解决方法,但是如果您从耗时的角度知道更好的方法,我持开放态度。谢谢您的帮助!

最佳答案

基本上,Strtok 的工作原理是在字符串中,只要它读取到某个字符或“分隔符”(在您的情况下为空格),或者您正在使用“”,因为数字由空格分隔,然后返回字符串直到它成为分隔符,这里有一个有用的链接可能会有所帮助 https://www.tutorialspoint.com/c_standard_library/c_function_strtok.htm

关于c - 从文件中以不同的字符串读取 2 个巨大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40872713/

相关文章:

c - typedef 指针常量怪异

c++ - 传入字符串和整数的字符串函数

c - 如何解释 sprintf 的这种行为?

java - 选择字符串的特定部分

regex - 来自标准输出的ansible解析文本字符串

c - 我不明白逆变器组串的操作

javascript - 发布 FormData 在 IE9 中不起作用

perl - 如何为目录下的所有文件名添加前缀?

android - 位置更改时 Environment.getExternalStorageDirectory() 的定义行为是什么?

javascript - 以正确的顺序附加字符串