所以我有这个txt文件,我想在c中得到我的应用程序,我必须得到()符号之间的数字我如何实现这一点。
(2)
(3,3)
(5,4)
(3)
到目前为止,我的代码如下:
char[] readFile(){
FILE *fileToRead;
fileToRead = open ("coordinates.txt", "r");
int coodinate[2];
Movimento movements; // this is where I put the coordinates
int i=0;
do{
fgets(coordinate[0], "%d", fileToRead);
fgets(coordinate[1], "%d", fileToRead);
}while (feof(fileToRead) == 0);
fclose(fileToRead);
return movements;
}
答案 0 :(得分:1)
您的fopen
与open
和fscanf
与fgets
混淆。
使用fgets
逐行读取文件,然后解析每一行并获取坐标。你可以使用isdigit()。
你可以有类似的东西:
FILE *fileToRead;
char s[100] = "";
int coordinate[2] = {0};
int i=0, j = 0;
if((fileToRead = fopen ("t.txt", "r")))
{
while(fgets(s, 100, fileToRead))
{
puts(s);
for(i = 0; s[i] != '\0'; i++)
{
if(isdigit(s[i]))
{
coordinate[j] = s[i] - '0';
j++;
}
}
j = 0;
printf("%d %d\n", coordinate[0], coordinate[1]);
}
}
fclose(fileToRead);