在读取文本文件时,是否有可能接受未知大小的整数值(假设它适合int),因为它在数字之前和数字之后会有一个空格。 例如。 363 865 我想将363和865各自存储为拥有自己的int变量 有了这个说,如果我添加字符可以这样做吗? 例如。取数字并将它们存储为变量! 363 865 所以做同样的事情,但不要触摸文本。
答案 0 :(得分:1)
如果您知道有多少号码,那么您可以使用fscanf
-
例如,如果有2个数字 -
fscanf(fp,"%d %d",&num1,&num2); // fp - file pointer ,num1 and num2 are integer variables
或者如果您不知道有多少号码
你可以使用fgets
-
fgets(buffer,1000,fp); // buffer char array of size 1000 and fp file pointer
答案 1 :(得分:0)
%d
格式说明符将占用前导空格,这也适用于fscanf
#include <stdio.h>
int main(void)
{
char str[] = " 363 865 ";
int a, b;
if (sscanf(str, "%d%d", &a, &b) == 2)
printf("%d,%d\n", a, b);
else
printf("Bad input\n");
return 0;
}
节目输出
363,865