标签: stream

使用istream作为参数的命名构造函数的问题

我正在尝试为我的类Matrix创建一个命名构造函数,输入作为流,我可以从中读取初始化的值.

#include <istream>
// ...

class Matrix
{
public:
    Matrix(int);
    // some methods
    static Matrix *newFromStream(istream&);

private:
    int n;
    std::valarray< Cell > data;
};
Run Code Online (Sandbox Code Playgroud)

该方法应该或多或少地像这样实现

Matrix *Matrix::newFromStream(istream &ist) {

    // read first line and determine how many numbers there are
    string s;
    getline( ist, s );
    ...
    istringstream iss( s, istringstream::in);

    int n = 0, k = 0;
    while ( iss >> k)
        n++;
    Matrix *m = new Matrix( n );    

    // read some more values from ist and initialize …
Run Code Online (Sandbox Code Playgroud)

c++ stream named-constructor

1
推荐指数
1
解决办法
660
查看次数

C#无法将类型'string'隐式转换为'System.IO.StreamReader

我要做的是打开目录中的每个文本文件,逐行读取,如果它与特定内容匹配,请执行正则表达式并将其输出到结果.出于某种原因,我的文本文件最终成为unicode ....,不确定不知道为什么.所以我能够解决这个问题,但我无法解决我所拥有的流阅读器问题.如果有人可以建议一种方法来解决这个问题,那就太好了,如果这种方式是转换那些文本文件,那就这样吧.

继承人代码:

        public void doSomeWork()
    {
        DirectoryInfo dinfo = new DirectoryInfo(@"C:\Documents and Settings\123");
        FileInfo[] Files = dinfo.GetFiles("*.txt");
        foreach (FileInfo filex in Files)
        {
            string line;
            StreamReader sr = File.ReadAllText(filex.FullName, Encoding.Unicode);
            StreamWriter sra = File.AppendText(@"C:\sharename.txt");
            int counter = 0;
            while((line = sr.ReadLine()) != null)
            {
                string matchingcontants = "Share";
                if (line.Contains(matchingcontants))
                {
                    string s = sr.ReadLine();
                    string sharename = Regex.Match(line, @"\+(\S*)(.)(.*)(.)").Groups[3].Value;
                    sra.WriteLine(sharename);
                }
                counter++;
            }
            sr.Close();
            sra.Close();  
        }
Run Code Online (Sandbox Code Playgroud)

c# unicode stream

1
推荐指数
1
解决办法
1万
查看次数

tweepy stream.filter()方法无法正常工作

我在tweepy api上遇到了一些问题.

我只是试着写一个小应用程序,让我获得一个用户(更多)的状态流,但一个可以开始;-)

现在:我的代码是这样的:

    def main():
       config = ConfigParser.ConfigParser()
       config.read('twitter.cfg')

       username = config.get('Twitter', 'username')
       password = config.get('Twitter', 'password') 
           listener = StreamWatcherListener()

       stream = tweepy.Stream(username, password, listener, timeout=None)
       stream.filter('132897940')
Run Code Online (Sandbox Code Playgroud)

在StreamWatcherListener我有一个方法"on_status"打印状态的文本,每当一个新的到达时(一切似乎工作,当我尝试stream.sample()而不是stream.filter())

给定的ID是我的testaccount,所以每当我发推文时我都应该在控制台中得到一些响应....但没有任何反应.

当我尝试

curl -d @following http://stream.twitter.com/1/statuses/filter.json -uAnyTwitterUser:Password
Run Code Online (Sandbox Code Playgroud)

在终端,因为我可以在twitter api中找到,一切运行正常.

也许我错误地使用filter() - 方法?

有什么建议?

-andy

python twitter stream filter tweepy

1
推荐指数
1
解决办法
4176
查看次数

在Mac上获取SHOUTcast元数据

我正在Objective-C中创建一个应用程序,我需要从SHOUTcast流中获取元数据.我试过这个:

NSURL *URL = [NSURL URLWithString:@"http://202.4.100.2:8000/"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
    [request addValue:@"1" forHTTPHeaderField:@"icy-metadata"];
    [request addValue:@"Winamp 5/3" forHTTPHeaderField:@"User-Agent"];
    [request addValue:@"audio/mpeg" forHTTPHeaderField:@"Content-Type"];
    [NSURLConnection connectionWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

我必须从此请求中获取标题才能获取信息,对吧?不幸的是它不断返回这些标题:

Date ="2010年4月17日21:57:14 -0200";

"Max-Age" = 0;
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

cocoa metadata shoutcast objective-c stream

1
推荐指数
1
解决办法
1793
查看次数

如何将内存流转换为文本?

我正在使用tcpstream并将数据复制到内存流中.现在我想将其转换为文本(UTF-8编码).我尝试了各种各样的方法,并做了flush(),但我无法弄明白.我尝试将它与StreamReader结合使用而没有运气(我得到一个空字符串).

.net stream

1
推荐指数
2
解决办法
8196
查看次数

C++重载

以下代码给出了编译错误.谁能告诉我为什么?

class mytype {
public:
    int value;
    mytype(int a) {
        value = a;
    }
    friend ostream& operator<<(ostream& stream, const mytype& a) {
        stream << a.value;//works
        return stream;
    }
    friend ostringstream& operator<<(ostringstream& stream, const mytype& a) {
        stream << (a.value);//compilation error
        return stream;
    }
};
Run Code Online (Sandbox Code Playgroud)

错误:

错误C2027:使用未定义类型'std :: basic_ostringstream <_Elem,_Traits,_Alloc>'

在确定:

错误C2666:'operator <<':18次重载具有类似的转换

最终修复:

将构造函数声明为显式.然后在MSVC上工作.

我想知道为什么.

c++ stream visual-studio-2010 visual-c++

1
推荐指数
1
解决办法
1508
查看次数

如何将字符串转换为流?

我想解析一些JSON:

void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(e.Result)))
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(STMsgObj));
            STMsgObj[] messages = (STMsgObj[])serializer.ReadObject(stream);

            foreach(STMsgObj aMsg in messages){
                MessageBox.Show(aMsg.body, "Data Passed", MessageBoxButton.OK); 
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如何将e.Result转换为流?

例外:

System.InvalidCastException was unhandled
  Message=InvalidCastException
  StackTrace:
       at StockTwits.ViewModels.StreamPage.webClient_DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e)
       at System.Net.WebClient.OnDownloadStringCompleted(DownloadStringCompletedEventArgs e)
       at System.Net.WebClient.DownloadStringOperationCompleted(Object arg)
       at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
       at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, …
Run Code Online (Sandbox Code Playgroud)

c# stream datacontractserializer windows-phone-7

1
推荐指数
1
解决办法
2082
查看次数

我如何为来自TStream的Olevariant变量赋值?

我需要从Stream读取并将缓冲区重新放入OleVariant(VarArray)变量中.

var
MemoryStream : TMemoryStream;
Data : OleVariant;
begin
            MemoryStream:=TMemoryStream.Create;
            try
                FuncFill(MemoryStream); //Filling the stream
                MemoryStream.Seek(0,0);
                MemoryStream.Read(Data, MemoryStream.Size);//this line lock tha app, i need allocate the memory for the OleVariant variable?
            finally
             MemoryStream.Free;
            end;

end;
Run Code Online (Sandbox Code Playgroud)

现在的问题是我怎么可以从指定readed值TMemoryStreamolevariant变量?

我正在使用delphi 5.

delphi memory-management stream variant

1
推荐指数
1
解决办法
2385
查看次数

Stream.Length抛出NotSupportedException

我正在尝试将数据发布到Restful服务并收到此错误.任何帮助非常感谢.

Length ='dataStream.Length'引发了类型'System.NotSupportedException'的异常

Position ='dataStream.Position'引发了类型'System.NotSupportedException'的异常

这是代码

[WebMethod]
//public static void Main(string output)
public string webPost()
{
    //HttpWebResponse response = null; 
    string output = null;

    // Create a request using a URL that can receive a post. 
    WebRequest request = WebRequest.Create("https://subscribers");
    request.PreAuthenticate = true;
    // Set the Method property of the request to POST.        
    request.Credentials = new NetworkCredential("userid", "password");
    request.Method = WebRequestMethods.Http.Post;

    string EmailAddress = "test@test1.com";
    string FirstName = "first";
    string LastName = "Last";

    StringBuilder Efulfill = new StringBuilder();

    Efulfill.Append("EmailAddress" + …
Run Code Online (Sandbox Code Playgroud)

c# stream

1
推荐指数
1
解决办法
1万
查看次数

当你在C++中执行`cout <<"output";`时会发生什么?

我正在尝试理解编译和执行C++代码时真正发生的事情,但这条线cout << "output";让我有些困惑.

我知道<<,运算符是按位的leftshift运算符,并且执行y = x << 6会将值分配给向左y移位x6位的值.

我也知道关于流的'<<'是插入操作符,并且执行cout << "output";将字符串output插入到对象中cout.

我想知道的是,这是否是重载的示例<<,或者是否cout真的被向左移动了一个与字符串占用的位数相对应的值output.如果output真的只是cout通过重载插入<<,那么为什么使用按位运算符而不是赋值运算符=,这会更直观?

问题:如何cout << "output"在终端屏幕上放置"输出"一词?

c++ stream bitwise-operators

1
推荐指数
1
解决办法
391
查看次数