No.3ベストアンサー
- 回答日時:
C言語の文字列は自動でサイズ変更してくれません。
VBなどの言語と比べると、とても不便です。配列の操作だと考えて下さい(実際文字の配列です)。確保されているメモリについて、プログラマ自身が意識して管理する必要があります。例:予めサイズを決めておく
char s1[16]="川";
char *s2="山";
strcat(s1,s2);
例:動的にメモリを確保する
char *s1="川";
char *s2="山";
char *s3;
s3 = (char *)malloc(sizeof(char) * (strlen(s1)+strlen(s2)+1));
strcpy(s3,s1);
strcat(s3,s2);
補足
#2さんは strcpyと勘違いされてるかな?
No.2
- 回答日時:
少なくともコンパイルエラーやリンクエラーにはならないはずです。
ただし、文字列リテラルの領域に書き込んだ場合の動作は未定義ですので、実行時に何らかのエラーが発生する可能性はあります。
なお、共通の拡張として、文字列リテラルの領域に書き込める処理系もありますし、多くの文字コードでは"川"と"山"のバイト数も同じでしょうから、その場合にはエラーになりません。
No.1
- 回答日時:
★メモリが足りません。
・エラーになって当然ですよ。
・『strcat』の第1引数は『山』を追加するスペースがないのです。
・第1引数『s1』に第2引数『s2』を追加します。
・メモリ領域が足りません。
・ビルド(コンパイル)時にはエラーにはなりませんが、実行時に必ずエラーになります。
●サンプル
char s1[10] = "川";
char *s2 = "山";
strcat( s1, s2 );
これならばエラーにはなりません。
以上。おわり。
参考URL:http://www.bohyoh.com/CandCPP/C/Library/strcat.h …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- 工学 電気回路の2端子対回路 (1)スイッチS1のみが開いているときの電流I1を求めよ。 (2)スイッチS 4 2023/05/29 16:40
- 数学 数学の質問です。 kを正の実数とする。 点Pは△ABCの内部にあり、 kAP+5BP+3CP = 0 2 2023/07/03 21:24
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- Visual Basic(VBA) 該当セルに行替えを含むデータを命令文に入れて、2行に表示したい。 5 2023/07/20 11:51
- 統計学 t値の計算方法 1 2022/11/29 18:37
- 工学 回路の勉強をしています。添付の説明で一点理解できないため教えてください。スイッチS1を閉じて定常状態 1 2022/10/24 15:58
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
ACCESSのDate関数のエラー表示...
-
適切な変換関数が存在しない???
-
C# 固定長ファイルの取得 FileGet
-
ビルド失敗 指定されたファイ...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
fopen() がたまにNULLを返す
-
左側がクラス、構造体、共用体...
-
RightとLeft関数のライブ...
-
fortranでプログラムを実行する...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
実行時エラー '1004' の解決方...
-
【R8C/Tinyマイコン】エラーに...
-
makedependのエラー
-
visual C++ でaruduinoとシリア...
-
VC++ 2008 Express EditionでWi...
-
Arduinoのプログラムについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
WindowsからLinuxへの移植
-
multiple definitionというエラー
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報