teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

文章を修正

2021/12/28 10:18

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,7 @@
1
- 提示コードですが下記の.mtlファイルの`newmtl Material.001`とありますがこの`001`の文字列を変数`1`として数値変数に保存したいのですがこれをするにはどうな関数を用いるのでしょうか?`///`コメント部のコードで実装を試みたのですが画面に何も表示されません
1
+ 提示コードですが下記の.mtlファイルの`newmtl Material.001`とありますがこの`001`の文字列を変数`1`として数値変数に保存したいのですが`///`コメント部のコードで文字を描画するまでは実装出来たのですが文字列から`特定文字から先をを算出`する方法が知りたいです
2
2
 
3
3
 
4
4
 
5
-
6
5
  ```.mtl
7
6
  newmtl Material.001
8
7
  Ns 225.000000
@@ -29,7 +28,6 @@
29
28
  ```
30
29
 
31
30
  ```cpp
32
-
33
31
  // ##################################### .mtlファイル読み込み #####################################
34
32
  std::shared_ptr<FrameWork::Material> FrameWork::GetMaterial(const char* path)
35
33
  {
@@ -46,46 +44,30 @@
46
44
  }
47
45
  else
48
46
  {
49
-
50
47
  while (true)
51
48
  {
52
49
  char line[LINE_BUFFER] = { '\0' };
53
50
 
54
- //fscanf_s(file, "%s",line);
55
51
  int res = fscanf_s(file, "%s", line, LINE_BUFFER);
56
52
 
57
53
  if (res == EOF)
58
54
  {
59
55
  break;
60
56
  }
61
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
57
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
62
58
  if (strcmp(line, "newmtl") == 0)
63
59
  {
60
+
64
61
  const char* str[500] = {'\0'};
65
- fscanf_s(file, "%s",str);
66
62
 
63
+ fscanf_s(file, "%s",str, LINE_BUFFER);
67
64
  printf("%s\n",str);
68
-
69
65
  }
70
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
66
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
71
- else if (strcmp(line, "vt") == 0)
72
- {
73
-
74
- }
75
- else if (strcmp(line, "vn") == 0)
76
- {
77
-
78
- }
79
- else if (strcmp(line, "f") == 0)
80
- {
81
-
82
- }
83
67
  }
84
68
  }
85
69
 
86
-
87
70
  return std::make_shared<FrameWork::Material>(mtl);
88
71
  }
89
72
 
90
-
91
73
  ```