scansf関数を使用して、someonesという名前を一度に取得し、各文字を配列の1つのレイヤに格納するプログラムを作成しようとしています。例えば 入力した名前は「ティム」であれば、それは何をすべきか:C - scanfを使用して文字列を配列にスキャンする
array[0]=t
array[1]=i
array[2]=m
array[3]=\0
私は他の脅威でこれを読んだことがあるが、それは仕事をdoesn't:
#include <stdio.h>
int main(void) {
char array[256];
scanf_s("%s", array);
printf_s("%s", array);
return 0;
}
それは、このエラーメッセージが出ています:
英語:
Exep位置0x01300000に
を書きながらションは0x0FAA0B5C
アクセス違反でトリガ方法をはいた場合のscanf機能を使用することも可能ですか? または、より良い選択肢がありますか?
コード働くバッファパラメータ追加していただきありがとうございます:
#include <stdio.h>
#include "stdafx.h"
int main(void) {
char array[256];
scanf_s("%255s", array, 256);
printf("%s", array);
return 0;
}
を持って、私はドイツ語理解していないが、それはクラッシュのように見えます。 ['scanf_s'](https://msdn.microsoft.com/en-us/library/w40768et.aspx)を正しく使用していないため、おそらくそれを取得します。 –
'scanf_s("%255s "、array、256);'バッファサイズパラメータを追加する必要があります。 –
scanf_s( "%s"、array、sizeof(array))を試してみましたか? –