#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char buffer[40000]= "3 Hello World";
int idvalue;
char buf[4000];
sscanf(buffer,"%d %s%s",&idvalue,buf);
printf("%d->%s\n",idvalue,buf);
return 0;
}
このコードには、常に「部分の整数の残り」タイプの可変バッファがあります。idvalue
その変数の内容を 2 つの新しい変数とにコピーしたいと考えていますbuf
。idvalue
その整数buf
が含まれ、スペース、整数、文字列などを含むことができる残りの部分が含まれます。書き込みidvalue
は正しくコピーされるようになりましたがbuf
、値の場合、空白の後に終了します。残りの部分全体を 1 つの string にコピーする方法を教えてくださいbuf
。