2018年1月2日火曜日

開発環境

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の9章(プロセスとシステムサービス - 限界を超える)、エクササイズ(p. 417)を取り組んでみる。

エクササイズ(p. 417)

コード

#include <stdio.h>
#include <process.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{
 char *feeds[] = {
  "http://www.cnn.com/rss/celebs.xml",
  "http://www.rollingstone.com/rock.xml",
  "http://eonline.com/gossip.xml",
  "http://sitekamimura.blogspot.com/feeds/posts/default"
 };
 size_t times = 4;
 char *phrase = argv[1];
 for (size_t i = 0; i < times; i++)
 {
  char var[255];
  sprintf_s(var, 255, "RSS_FEED=%s", feeds[i]);
  char *vars[] = { var, NULL };
  if (_execle(
   "\"\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe\"",
   "\"\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe\"",
   "rssgossip.py",
   phrase,
   NULL,
   vars
  ) == -1)
  {
   char s[80];
   strerror_s(s, 80, errno);
   fprintf(stderr, "スクリプトを実行できません:%s\n", s);
   return 1;
  }
 }

 return 0;
}

入出力結果(コマンドプロンプト)

>Rssgossip.exe
スクリプトを実行できません:Invalid argument

>Rssgossip.exe python
スクリプトを実行できません:Invalid argument

>Rssgossip.exe "python"
スクリプトを実行できません:Invalid argument

>

Windows の場合、別の方法が必要なのか、python2.7、python3.x(Visual Studio Installer でインストールして使っているのはこちら)の違いの問題なのか、コード自体に何か問題があるのか…

(rssgossip.pyのコードは元々は python2.7用みたいだけど、python3.xで動くように修正済み)

0 コメント:

コメントを投稿