質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1240閲覧

sscanfの使い方

makioo

総合スコア28

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2018/08/11 03:14

sscanf(line,"%*d;%d,%d,%d;",&a1,&a2,&a3);

今上記のプログラムでファイルから値を変数に入れたいのですが、この引数が最初の%*dの値(この場合では3です)によって変化するようにしたいです。

%*dが4なら

sscanf(line,"%*d;%d,%d,%d,%d;",&a1,&a2,&a3,&a4);

みたいな感じで、これを一つ一つ手書きで書くのは現実的ではないため、どうにかできないか考えているのですが方法が思いつきません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答ではありませんが、、
scanf系の関数というのは危険な関数なので、使うべきではありません。
実務ではまず使われることがない関数となってしまっています

投稿2018/08/12 14:19

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

直接の回答ではありませんが、平均値プログラムsscanfの返り値でのBAを参考にされたらどうでしょう?
[追記]
sscanf()を使わなければ、こんな方法も有りますd^^

c

1usr~/test/c % cat ct0.c 2#include <stdio.h> 3#include <stdlib.h> 4// 5int read(void); 6 7int main(void) 8{ 9 printf("カウンタ=%d\n", read()); 10 // 11 return 0; 12} 13/** 14 */ 15int read(void) 16{ 17 int siz = 0; 18 char *ptr = 0; 19 char buf[1024]; 20 // 21 if (fgets(buf, sizeof buf, stdin) != NULL) { 22 siz = (int)strtol(buf, &ptr, 10); 23 for (int i = 0; i < siz; i++) { 24 int n = (int)strtol(ptr, &ptr, 10); 25 printf("%d\n", n); 26 } 27 } 28 // 29 return siz; 30} 31// 32usr~/test/c % ./a.out 334 1 2 3 4 341 352 363 374 38カウンタ=4 39usr~/test/c % 40

投稿2018/08/11 03:42

編集2018/08/11 04:33
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makioo

2018/08/11 03:55

ありがとうございます!考えてみます。
makioo

2018/08/11 05:31

追記分もありがとうございます!自分でsscanfを使ったのがどうしてもわからなかった場合使わせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問