这是我C类的作业问题。我们正在学习文件I / O,我已经成功打开了两个文件,现在我必须在第一个文件上使用strtok()提取数字数据并将其存储在另一个文件中。我已经成功地从文本文件的第一行中提取了数字并将其存储在另一个文件中,但是我无法通过strtok()在整个文件中运行。有什么建议吗?
不是很多...我在这里画一个空白。我尝试使用“ \ n”,以便分隔符既是空格又是换行符,但是我认为它不起作用...我认为无论如何我只能有1个分隔符。
void main()
{
FILE *fp1 = NULL;
FILE *fp2 = NULL;
int i;
char strwarehouse[100];
char *token;
printf("Scanning files and parsing strings....\n");
fp1 = fopen("Assign9.txt", "r");
fp2 = fopen("numfile.txt", "w");
if (fp1 == NULL)
{
printf("ERROR OPENING FILE, TERMINATING PROGRAM\n");
}
else
{
fgets(strwarehouse, 100, fp1);
token = strtok(strwarehouse, " \n");
while (token != NULL)
{
if (isdigit(token[0]))
{
fprintf(fp2, "%s ", token);
}
token = strtok(NULL, " \n");
}
fclose(fp2);
fclose(fp1);
}