#include <stdio.h>
int main()
{
FILE *fp;
char str[60];
char data[50];
char * pch;
/* opening file for reading */
fp = fopen("DATAtest.txt" , "r");
if(fp == NULL) {
perror("Error opening file");
return(-1);
}
if(fgets (str, 60, fp)!=NULL) {
/* writing content to stdout */
//puts(str);
}
if(fgets (str, 60, fp)!=NULL) {
/* writing content to stdout */
puts(str);
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
fclose(fp);
return(0);
}
기본적으로 파일을 열고 두 번째 줄에서 데이터를 추출합니다. 그 다음에해야 할 일은 printf ("Splitting ...")에서 얻은 텍스트를 분리 된 문자로 분리하는 것입니다. 예를 들면 다음과 같습니다. "0 0 128 0 0 0 0 0 0; 이 방법으로 분할하고 싶습니다.fputs에서 문자열 분할
0
0
128
0
0
0
0
0
0
0
코드에 대해 죄송합니다. 방금 시작했습니다.
두 개의'fgets' 호출이 있습니다. 첫 번째 호출의 목적은 무엇입니까 (파일의 첫 번째 줄을 버릴 가능성이 높음)? – cnicutar
이것은 DATAtest.txt의 처음 두 줄에 60 자 미만이 있다고 가정합니다. (첫 줄이 60 자보다 길면 첫 번째 59 자만 움켜 잡습니다.) –
프로그램에 (#include이 없어도) 주어진 입력으로 원하는 것을 수행합니다. 무엇이 문제입니까? –
Armali