検索結果 9 件

by Jimmy
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の操作がうまくいかない(C++)
返信数: 5
閲覧数: 2268

Re: 文字列の操作がうまくいかない(C++)

少し時間が開いてしまいました。
>間違えた、アドレス先の内容が消失していると思うので関数の宣言を変えるかstd::stringを使いましょう。
原因がわかってスッキリしました!ありがとうございます。

Blueさん
「うしろ3文字」なら、確かにBlueさんの方法もありですね。
気が付きませんでした。本当に文字列を取得したいとき、特定の条件の文字列の位置を返すときとで使い分けたいと思います。
ありがとうございます。
by Jimmy
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の操作がうまくいかない(C++)
返信数: 5
閲覧数: 2268

Re: 文字列の操作がうまくいかない(C++)

KORYUOHさんありがとうございます。

もしかして、ローカルスコープ変数wordの値は関数終了時に破棄されるということですか!?
うまくいかない理由が見えて来ました(このプログラム以外にも何度も起きているので・・・)。

もしそうなら、戻り値型をchar * のまま、getBack3()を使うには、wordはグローバル変数にする方法しかないということですよね?
引数を増やすのは嫌なので・・・

C++で書いている理由は、Cより変数の宣言が自由な場所でできるからです。
本当はC言語をもう少し深めようと思っています。
ですので、stringを使うのまた違う機会にしたいと思います。
by Jimmy
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の操作がうまくいかない(C++)
返信数: 5
閲覧数: 2268

文字列の操作がうまくいかない(C++)

自作の関数char* getBack3(char*)というのを作りました。 この関数は「与えられた文字列の後ろ3文字を返す」という仕様です。 例: "abcd" → "bcd" ですが、文字列やポインタなどの概念をしっかりと把握していないせいか、自分の思うように動きません。 #include<cstdio> #include<cstring> char* getBack3(char *); int main(){ char *back3 = getBack3("abcd"); printf("main()内に返ってきた>> "); puts(back3); printf("\n"); getc...
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でCSVファイルを読み取りたい、でも失敗する・・・
返信数: 5
閲覧数: 6888

Re: C言語でCSVファイルを読み取りたい、でも失敗する・・・

クイック送信では、解決のクリックがなかったんですね。
解決したのでこちらを使って解決チェックします。

ありがとうございました!
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でCSVファイルを読み取りたい、でも失敗する・・・
返信数: 5
閲覧数: 6888

Re: C言語でCSVファイルを読み取りたい、でも失敗する・・・

みけCATさんのプログラムを理解するのに、時間がかかり過ぎました(汗

strchrは使ったことがなかったので、参考になりました。
17、18行目のように変数の宣言を繰り返しの中に入れても問題ないんですね。初めて知りました。

sscanfも便利な関数ぽいので、覚えておきます。
お世話になりました!
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でCSVファイルを読み取りたい、でも失敗する・・・
返信数: 5
閲覧数: 6888

Re: C言語でCSVファイルを読み取りたい、でも失敗する・・・

タイプが遅くて、編集前のみけCATさんの内容に返信してしまいました。
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でCSVファイルを読み取りたい、でも失敗する・・・
返信数: 5
閲覧数: 6888

Re: C言語でCSVファイルを読み取りたい、でも失敗する・・・

みけCATさんありがとうございます!

>「現在通用している」は10バイトを超えるので、配列の範囲外を参照して危険です。
分かりました。以後、気をつけます。(でも、どうしてエラー出なかったんだろ(独り言))

>fgetsで1行ずつ読み込み、strchrなどで改行を消してからstrtokで分割してコピーするのがいいと思います。
この方法で組んでみたいと思います。
CSVを読み取るときはこの方法が一番スマートなのですか?
fscanf()でうまく対応する方法はありますか?
良ければ教えて下さい。
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でCSVファイルを読み取りたい、でも失敗する・・・
返信数: 5
閲覧数: 6888

C言語でCSVファイルを読み取りたい、でも失敗する・・・

test.csv [tab=30]late,遅れた [tab=30]latest,最新の [tab=30]current,現在通用している 上記のデータを用いて以下のプログラムを実行するとうまくいきません。 #include<stdio.h> #define MAX_WORDS 3 int main() { FILE *fp; char words[MAX_WORDS][10], meaning[MAX_WORDS][10]; int i; if((fp=fopen("test.csv","r"))==NULL){ printf("ファイルがありません\n"); return 1; } fo...
by Jimmy
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で改行する方法 printf("\n")とput("")
返信数: 4
閲覧数: 16141

Re: C言語で改行する方法 printf("\n")とput("")

putchar()関数知りませんでした。

>速さに拘るとしたら、ここじゃないですね。
了解しました!

お二人ともありがとうございました。

詳細検索ページへ移動する