c/c++文本输入有关问题

c/c++文本输入问题
如题,我想把一段字符输入一个文本文件中,例如啊,a,b,c
                                                                                       cd,e,cc,
                                                                                       aa,ss,d


希望,文本文件中显示的也是                                         a,b,c
                                                                                       cd,e,cc,
                                                                                       aa,ss,d
代码应该怎么写呢?不要用
fputs("a,b,c",fp);
fputs("\n",fp);这种类型哦,因为文本比较多,这样太麻烦了,希望大家不吝赐教
------解决思路----------------------
引用:
能不能简单写段代码呢,我没搞懂你的意思是怎么用


假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";

FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());

 也可以写成 
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

能不能简单写段代码呢,我没搞懂你的意思是怎么用


假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";

FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());

 也可以写成 
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义


哦哦,我其实是想一次输一段字符,不是像你这样的方式,你这个相当于还是要一行一行的定义,我期待的是类似于这样的效果,
fputs("a,ba,c
            aa,dd,cc
            yi,c m",fp)
类似于这样的一次就输进去了,因为我要输的文本实在是有点多,如果一行一行的定义往里面输的话,工作量太大了,还是非常感谢你帮我解答哈 


那就写成如下形式

    fputs("this "
        "is "
        "a "
        "demo "
        "string", p);

------解决思路----------------------
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{//循环,每次读入一行string,当eof时终止,读入string中输出到文件中
string str;
ofstream out("myflie.txt");
while (cin>>str)
{
out << str << endl;
}
out.close();

return 0;
}
用c++写的不知道这样行不行
------解决思路----------------------
引用:



void main()
{
    char* s1 = "this "
        "is "
        "a "
        "demo "
        "string\n";

    char* s2 = "this "
        "is "
        "another "
        "string\n";

    FILE* p = fopen("D:/a.txt", "a+");
    if (p)
    {
        fputs(s1, p);
        fputs(s2, p);
        fclose(p);
    }
}

------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

能不能简单写段代码呢,我没搞懂你的意思是怎么用


假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";

FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());

 也可以写成 
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义


哦哦,我其实是想一次输一段字符,不是像你这样的方式,你这个相当于还是要一行一行的定义,我期待的是类似于这样的效果,
fputs("a,ba,c
            aa,dd,cc
            yi,c m",fp)
类似于这样的一次就输进去了,因为我要输的文本实在是有点多,如果一行一行的定义往里面输的话,工作量太大了,还是非常感谢你帮我解答哈 


那就写成如下形式

    fputs("this "
        "is "
        "a "
        "demo "
        "string", p);

我刚刚试过你的那个方法,得到的结果是this,is,a,demo,string
字符没有自动分行,而且字符与字符之间多了个逗号

当然不会换行啊,要是换行就错了。这是C里面常用的一种写法