Web検索で情報を見つけることができませんでした。どこを見ればいいですか?
60731 次
7 に答える
24
char myString[256]; // Input string
char dest[256]; // Destination string
strncpy(dest, myString, 10);
dest[10] = 0; // null terminate destination
于 2013-05-02T22:08:39.963 に答える
7
char source[] = "abcdefthijklmn";
char target[100];
strncpy(target, source, 10);
target[10] = '\0'; // IMPORTANT!
于 2013-05-02T22:09:37.590 に答える
4
上記の回答に追加:
char* someString = "your string goes here";
int main()
{
int n = 10;
printf("(%.*s)\n", n, someString);
return 0;
}
于 2016-12-04T13:10:11.493 に答える
0
精度形式sprintf
でも使用できます。.10
#include <stdio.h>
#include <string.h>
int main(void)
{
char source[] = "abcdefghijklmnopqrstuvwxyz";
char dest[11];
memset(dest, '\0', sizeof(dest));
sprintf(dest, "%.10s", source);
printf("%s", dest); // abcdefghij
return 0;
}
于 2016-12-04T12:00:29.187 に答える
0
良い情報源を探している場合は、使用できるオンラインの man ページの例を次に示します: http://linux.die.net/man/3/strncpy
注意すべき重要事項: strncpy の代わりに memcpy を使用することもできますが、独自のヌル終了バイトを追加する必要があります。
警告: src の最初の n バイトに null バイトがない場合、dest に配置された文字列は null で終了しません。
したがって、ここでは memcpy と strncpy はほぼ同じように機能し、memcpy はより効率的で、エラーが発生しにくくなっています。
于 2013-05-02T22:12:08.697 に答える
0
私はそれをこのように動作させました。
# include <stdio.h>
# include <string.h>
//Strings. String lenght terminator.
//KHO2016.no1. mingw (TDM-GCC-32) . c-ansi .
int main ()
{
//declare
char src_str[20],dst_str[10];
//valuate
printf ("Enter a sentance of 20 letters\n");
gets (src_str);
strcpy (dst_str,src_str);
//calculate
dst_str [10] ='\0'; // from the "www.stack overflow"
printf ("%s",dst_str);
printf ("\n");
//terminate
return 0;
}
于 2016-01-10T21:09:27.257 に答える