
パイプを使用しC#から送信したデータをMATLABで受信することは可能でしょうか?
もし可能であるならばどのようにすればよいのでしょうか。
以下のプログラムで行っているのですがMATLAB側で受信ができず -1がかえってきてしまいます
C言語で受信する場合はうまくいくのですがMATLABを使用するとファイルのopneができません。
以下C#・MATLABプログラム
C# <プログラム> 送信側
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Pipes;
using System.IO;
namespace PipeTest
{
class Program
{
static void Main(string[] args){
Console.WriteLine("パイプ接続待ち...");
NamedPipeServerStream pipe = new NamedPipeServerStream("test");
pipe.WaitForConnection();
Console.WriteLine("送信(キーを押すと終了)");
StreamWriter stw = new StreamWriter(pipe);
stw.AutoFlush = true;
while(Console.KeyAvailable == false)
{
stw.WriteLine("This is a test");
System.Threading.Thread.Sleep(500);
}
Console.WriteLine("終了");
pipe.Close();
}
}
}
MATLAB <プログラム> 受信側
fp = fopen('C:\\\\.\\pipe\\test');
No.2ベストアンサー
- 回答日時:
MATLABがパイプに対応しているかどうかしらないけどパイプの標準名は
'C:\\\\.\\pipe\\test'
ではないと思う。パイプの識別名は
\\.\pipe\test
の形式のはずなので、'\\\\.\\pipe\\test'かな。
あとフラッシュをオートでなく明示的に行うとどうなるか確認して。
ファイルで上手くいくならその方が楽だと思うけど。
この回答への補足
'C:\\\\.\\pipe\\test'の部分なのですが'\\\\.\\pipe\\test'のようにやってみたのですが結果はかわりませんでした。
>>フラッシュをオートでなく明示的に行う
こちらの文がわからないので、詳しく教えて頂けますか?
よろしくお願いします
No.3
- 回答日時:
> >>フラッシュをオートでなく明示的に行う
> こちらの文がわからないので、詳しく教えて頂けますか?
これはPythonで遭遇した事例で、C#ではどうか分かりませんが、自動フラッシュだとコンソールにはすぐ出力されるのにパイプやファイルにはなかなか出力されないで困ったことがあります。
# 実行経過のログ出力をリダイレクトすると全部の処理が終わるまでログが出てこない
これが原因なら一行の出力ごとに明示的にフラッシュを挿入すれば確実に出力されて問題なくなります。
Cプログラムでは問題なく受信できているならこれも外れの可能性が高いですけど。
No.1
- 回答日時:
直接の回答ではありませんが,
.NET Framework とのインターフェイスが用意されているようですから,
それを使うのが真っ当なやり方ではないでしょうか。
http://www.mathworks.cn/help/techdoc/matlab_exte …
# 一旦ファイルに落とすほうが簡単そうな気はしますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- JavaScript 初心者です。gulpでコンパイルができないので教えてください! 1 2023/05/17 17:07
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A4の紙に印刷されている文字を...
-
PC内で速度を遅くした音源をCD...
-
テキストエディタでVBを編集...
-
iosのshortcutアプリでmp3を連...
-
パイプを用いた通信 C#とMATLAB
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
Fortniteのクラッシュについて
-
eclipseでタブ入力ができなくな...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ExcelからCSVへウムラウトなど...
-
ガラケーからPCへの写真の取り込み
-
画像をトリミングしてフォルダ...
-
FAT32→NTFSは分かるけど、NTFS→...
-
拡張子「.IDJ」を、windo...
-
PHPの変数について教えて下さい
-
抗がん剤投与後のフラッシュ
-
フラッシュで作成された画像のU...
-
GoLiveで1.6MのQuickTimeがアッ...
-
FLASH MOVIEの保存の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
複数のブックを新しいブックのS...
-
拡張子「.IDJ」を、windo...
-
A4の紙に印刷されている文字を...
-
PC内で速度を遅くした音源をCD...
-
2枚、マイクロSDカードを入...
-
GIMP separate+プラグイン クラ...
-
リストビューの選択状態を取得...
-
Accessのソースが見れない
-
eclipseでタブ入力ができなくな...
-
スマホでtxtファイルを編集する...
-
TextBoxにフォーカスを与えると...
-
ファイル数と合計サイズの取得方法
-
リストビューで選択行の背景を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
garagebandのLR Mixの方法について
-
クラリスインパクトに替わるソ...
-
エアコンの冷媒 R410Aの重...
おすすめ情報