我正在尝试为我的类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) 我要做的是打开目录中的每个文本文件,逐行读取,如果它与特定内容匹配,请执行正则表达式并将其输出到结果.出于某种原因,我的文本文件最终成为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) 我在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
我正在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";
Run Code Online (Sandbox Code Playgroud)"Max-Age" = 0;
我做错了什么?
我正在使用tcpstream并将数据复制到内存流中.现在我想将其转换为文本(UTF-8编码).我尝试了各种各样的方法,并做了flush(),但我无法弄明白.我尝试将它与StreamReader结合使用而没有运气(我得到一个空字符串).
以下代码给出了编译错误.谁能告诉我为什么?
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上工作.
我想知道为什么.
我想解析一些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) 我需要从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值TMemoryStream的olevariant变量?
我正在使用delphi 5.
我正在尝试将数据发布到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++代码时真正发生的事情,但这条线cout << "output";让我有些困惑.
我知道<<,运算符是按位的leftshift运算符,并且执行y = x << 6会将值分配给向左y移位x6位的值.
我也知道关于流的'<<'是插入操作符,并且执行cout << "output";将字符串output插入到对象中cout.
我想知道的是,这是否是重载的示例<<,或者是否cout真的被向左移动了一个与字符串占用的位数相对应的值output.如果output真的只是cout通过重载插入<<,那么为什么使用按位运算符而不是赋值运算符=,这会更直观?
问题:如何cout << "output"在终端屏幕上放置"输出"一词?